历史上的今天
今天是:2024年10月08日(星期二)
2019年10月08日 | STM32F407上调试freeRTOS问题
2019-10-08 来源:eefocus
是在正点原子的阿波罗STM32F429开发板上的例子改来的,他们的编译没有问题,我编译时出现如下问题:

定位到出错的地方,代码是:

再追代码,configMAX_SYSCALL_INTERRUPT_PRIORITY 的定义是:
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
其中 configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 定义为:
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5 //系统可管理的最高中断优先级
configPRIO_BITS 定义为:
#ifdef __NVIC_PRIO_BITS
#define configPRIO_BITS __NVIC_PRIO_BITS
#else
#define configPRIO_BITS 4
#endif
我们定义了__NVIC_PRIO_BITS 为:
#define __NVIC_PRIO_BITS 4U /*!< STM32F4XX uses 4 Bits for the Priority Levels */
就是因为这里的定义后面有一个U,导致编译不过。
后来跟踪429的代码发现 __NVIC_PRIO_BITS 的定义为:

而427的代码为:

一句话,就是多了一个U导致编译不过。
史海拾趣
|
介绍一下STM32开发都有什么工具,资料需要到什么地方下载。 一、STM32资料 ST对于其新的32bit MCU平台的重视程度可从其提供的应用笔记的数量和相应的参考代码上可见一斑。 STM32的全部英文官方版本下载地址: ...… 查看全部问答> |
|
用CPLD实现一个辨向、4细分、计数的电路。 用时序仿真的时候,仿真的结果都是非常正确的。 在实际电路的时候发现出现5%的计数误差。 老师说在触发脉冲上升沿的时候,有可能计数脉冲跑掉了几个。 计数脉冲最大100KHZ,触发时钟脉冲达到50MHZ。 ...… 查看全部问答> |
|
我在程序中使用MmMapIoSpace操纵GPIO, 可是貌似没有效果,请各位老大帮忙看看!谢拉。 volatile static S5PC100_GPIO_REG * pGPIOReg = NULL; &nbs ...… 查看全部问答> |
|
我看了一篇《ucos II+ucGUI+s3c2410+LCD+触摸屏整合》后知道移植UCGUI需要修改的地方,但我不知道怎么样把UCGUI加载到编译器中呢?请高手指点一下。 … 查看全部问答> |
|
void HookISR() using 1 //using 1 的意思是用寄存器1吗? { if (_bHook) return; //这句是不是说如果_bHook的值为真的话,那么就退出这个函数呢,不再执行下面的语句?如果如果_bHook的值为假的话,就顺序执行下面的语 ...… 查看全部问答> |
|
基于2440的wince 4.2的系统--为什么在增加串口驱动后,无法sleep!? 辛苦了2天,终于把调试口uart1修改为了com3,解决了搞波特率丢数据的问题.. 本以为可以好好休息了... 结果没有想到,在串口一切正常的时候,系统无法sleep了.. 按键待机之后,屏幕依然亮着,触摸无响应 由于调试口uart1修改为了com3,无法在调 ...… 查看全部问答> |
|
在Q II环境下出现了如下警告,请教高人给予指点解决办法: ---------------------------------------------------------------------- 1. Warning: Found 6 output pins without output pin load capacitance assignment &nbs ...… 查看全部问答> |




