查看: 6998|回复: 9

[MPC] MPC574xx

[复制链接]

该用户从未签到

9

主题

25

帖子

0

注册会员

Rank: 2

积分
191
最后登录
2023-4-12
发表于 2020-4-15 09:59:09 | 显示全部楼层 |阅读模式
给位大佬好      
              最近在使用MPC5748G这款芯片在使用SDK配置ADC和freertos操作系统的时候,单个配置都能正常工作,当配置在一起是就会出现"No source available for" uSDHC_DriverIRQHandler () at 0x1002bc8 "这个问题,而且在控制台还显示Interrupt command received.Halting execution.我使用的也是官方的DEVKIT-MPC5748G板子。使用的是S32 Design Studio for Power Architecture Version 2.1.

我知道答案 目前已有9人回答
微信截图_20200413141611.png
微信截图_20200415095254.png

adc_pal_mpc5748g.zip

11.86 MB, 下载次数: 3, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

9

主题

25

帖子

0

注册会员

Rank: 2

积分
191
最后登录
2023-4-12
 楼主| 发表于 2020-4-15 10:21:14 | 显示全部楼层
在程序中,我在确保ADC能正常工作的时候只是将freertos组件加了进去,并没有写任何关于操作系统任务的代码,就会出现我上面所说的问题。
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

25

帖子

0

注册会员

Rank: 2

积分
191
最后登录
2023-4-12
 楼主| 发表于 2020-4-15 10:50:21 | 显示全部楼层
有哪位大佬帮忙给看一下,已经困扰了我两周了,实在是解决不了了,都快崩溃了。
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

25

帖子

0

注册会员

Rank: 2

积分
191
最后登录
2023-4-12
 楼主| 发表于 2020-4-15 13:52:48 | 显示全部楼层
一代睡神的崛起 发表于 2020-4-15 11:55
您好,根据描述和提示,编译报错是说在这个中断里面没有可用的中断源。请检查中断配置的中断是否是可用的, ...

我通过debug发现这个问题会出现在ADC的初始化阶段,就是初始化都过不去。另外我检查哪里的中断配置呢。
微信截图_20200415134805.png
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

25

帖子

0

注册会员

Rank: 2

积分
191
最后登录
2023-4-12
 楼主| 发表于 2020-4-16 08:46:18 | 显示全部楼层
一代睡神的崛起 发表于 2020-4-15 16:38
你的ADC使用的DMA方式么?如果是DMA会存在中断请求,你把初始化复制出来

使用的就是官方的初始化例程,我基本上没有修改什么,就是添加组件
  1. status = STATUS_ERROR;
  2.     while(status != STATUS_SUCCESS)
  3.     {
  4.         status = ADC_Init(&adc_pal1_instance, &adc_pal1_InitConfig0);
  5.         if(status != STATUS_SUCCESS)
  6.         {
  7.                 ADC_Deinit(&adc_pal1_instance);
  8.         }
  9.     }
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

25

帖子

0

注册会员

Rank: 2

积分
191
最后登录
2023-4-12
 楼主| 发表于 2020-4-16 08:50:12 | 显示全部楼层
一代睡神的崛起 发表于 2020-4-15 16:38
你的ADC使用的DMA方式么?如果是DMA会存在中断请求,你把初始化复制出来

使用的是软件触发,没有使用DMA
回复 支持 反对

使用道具 举报

该用户从未签到

9

主题

25

帖子

0

注册会员

Rank: 2

积分
191
最后登录
2023-4-12
 楼主| 发表于 2020-4-16 10:25:56 | 显示全部楼层
一代睡神的崛起 发表于 2020-4-16 08:59
while(status != STATUS_SUCCESS)
你看看这句,是不是卡死在这个地方了,这里是一直要等待初始化状态,假如 ...

我debug调试过了,一般都是在ADC_Init里面出现问题,当然把freertos组件给删掉,在进行测试的话,ADC还是会正常工作的
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2020-11-5 14:56
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    4

    帖子

    0

    新手上路

    Rank: 1

    积分
    10
    最后登录
    2020-11-5
    发表于 2020-11-3 17:01:18 | 显示全部楼层
    我按照系统自带的手册 HOWTO_Create_a_Blinking_LED_Project_MPC5748G.pdf 创建了一个闪灯的小程序。可以正常运行。然后添加了freertos组件,什么其余的代码都没有写,就出现相同的问题。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-5 14:56
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    4

    帖子

    0

    新手上路

    Rank: 1

    积分
    10
    最后登录
    2020-11-5
    发表于 2020-11-4 12:42:36 | 显示全部楼层
    增加了FreeRTOS组件以后,会定义一个USING_OS_FREERTOS的宏,然后原来的IVOR4_Handler变成了vPortISRHandler,里面运行到portLOAD_SYSTEM_STACK_POINTER会产生IVOR1_Handler错误
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-5 14:56
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    4

    帖子

    0

    新手上路

    Rank: 1

    积分
    10
    最后登录
    2020-11-5
    发表于 2020-11-5 14:55:47 | 显示全部楼层
    增加了FreeRTOS组件以后,即使不写代码,也会因为USING_OS_FREERTOS宏的关系,导致代码被调用。但是因为没有初始化内存,会导致IVOR1的错误。在main中创建Task,并开始调度,就不会出现异常。但是在porttimer.c里,MPC5748G会默认打开PIT的Freeze in Debug,在S32D中有一个缺陷导致时钟无法运行,我的解决方法是在第一个Task一进入的时候把Freeze in Debug关闭。可以正常运行。但是系统自带的样例里这个标志也是打开的,CPU也处于Debug状态,但是他却能被调用。不知道什么原因。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-23 18:36 , Processed in 0.111891 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表