历史上的今天
返回首页

历史上的今天

今天是: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导致编译不过。

推荐阅读

史海拾趣

广东爱晟电子(exsense)公司的发展小趣事

随着业务的不断拓展,爱晟电子意识到品质是品牌的核心。公司引进了先进的生产设备和管理体系,严格按照ISO9001质量体系运作,确保产品质量的稳定性和可靠性。同时,公司还加强了对原材料的质量控制,与国内外优质供应商建立了长期稳定的合作关系。这些举措使得爱晟电子的产品在市场上赢得了良好的口碑,品牌影响力逐渐增强。

Carling Technologies公司的发展小趣事

随着技术的不断进步和市场需求的多样化,Carling Technologies开始扩展其产品线,涵盖了液压磁热断路器、电子控制以及配电装置等多个领域。同时,公司也积极开拓全球市场,通过设立海外办事处和与当地企业合作,将产品销往世界各地。这一阶段的发展使得Carling Technologies成为了全球电气和电子开关领域的领先制造商之一。

Fedco_Batteries公司的发展小趣事

随着公司业务的不断拓展,Fedco_Batteries始终将产品质量放在首位。公司引进了先进的生产设备和检测设备,建立了严格的质量管理体系。每一块电池在出厂前都要经过多道严格的质量检测,确保产品的稳定性和可靠性。这种对品质的坚持,让Fedco_Batteries的电池在市场上赢得了良好的口碑,越来越多的客户选择了他们的产品。

Gennum ( Semtech )公司的发展小趣事
在连接元件时,避免导线裸露部分相互接触或接触到金属物体,以防止短路。
EPCOS/TDK公司的发展小趣事

TDK,一个历史悠久的电子工业品牌,其创始人加藤与五郎和武井武两位博士于1935年在东京创办了东京电气化学工业株式会社(Tokyo Denkikagaku Kogyo K.K.),后更名为TDK株式会社。公司自创立之初就致力于磁性材料的研发,并成功地将铁氧体磁芯商业化,为收音机等产品提供了优质的音频解决方案。TDK不断推动技术创新,逐步扩展至数据存储、电子元器件等领域,并以其卓越的品质和技术赢得了全球客户的信赖。

Futaba Electric Co Ltd公司的发展小趣事

作为全球领先的电子元器件制造商之一,EPCOS在通信领域取得了显著的突破。其电容器、电感器等产品在通信系统中发挥着关键作用,为各种通信设备提供了稳定的电源和信号处理方案。EPCOS不断投入研发资源,致力于开发适应新一代通信技术需求的高性能电子元器件。这些创新产品不仅提高了通信系统的性能和可靠性,也推动了整个通信行业的进步。

以上是关于EPCOS/TDK公司发展起来的5个相关故事。这些故事不仅展示了公司在技术创新、市场拓展等方面的成就,也体现了其在电子行业中的重要地位和影响力。

问答坊 | AI 解惑

STM32入门工具篇

介绍一下STM32开发都有什么工具,资料需要到什么地方下载。 一、STM32资料     ST对于其新的32bit MCU平台的重视程度可从其提供的应用笔记的数量和相应的参考代码上可见一斑。     STM32的全部英文官方版本下载地址: ...…

查看全部问答>

程序员面试宝典

内容我不多说了,对面试多多少少都会有帮助!写得不错,极力推荐!…

查看全部问答>

时序仿真过了,为什么实际的电路就是出现了一些错误

用CPLD实现一个辨向、4细分、计数的电路。 用时序仿真的时候,仿真的结果都是非常正确的。 在实际电路的时候发现出现5%的计数误差。 老师说在触发脉冲上升沿的时候,有可能计数脉冲跑掉了几个。 计数脉冲最大100KHZ,触发时钟脉冲达到50MHZ。 ...…

查看全部问答>

MmMapIoSpace的问题!!

我在程序中使用MmMapIoSpace操纵GPIO, 可是貌似没有效果,请各位老大帮忙看看!谢拉。          volatile static  S5PC100_GPIO_REG * pGPIOReg = NULL;           &nbs ...…

查看全部问答>

请问怎么样把UCGUI加载到编译器中呢?请高手指点一下。

我看了一篇《ucos II+ucGUI+s3c2410+LCD+触摸屏整合》后知道移植UCGUI需要修改的地方,但我不知道怎么样把UCGUI加载到编译器中呢?请高手指点一下。 …

查看全部问答>

[求助]return用法问题

void HookISR() using 1   //using 1 的意思是用寄存器1吗? { if (_bHook) return;    //这句是不是说如果_bHook的值为真的话,那么就退出这个函数呢,不再执行下面的语句?如果如果_bHook的值为假的话,就顺序执行下面的语 ...…

查看全部问答>

基于2440的wince 4.2的系统--为什么在增加串口驱动后,无法sleep!?

辛苦了2天,终于把调试口uart1修改为了com3,解决了搞波特率丢数据的问题.. 本以为可以好好休息了... 结果没有想到,在串口一切正常的时候,系统无法sleep了.. 按键待机之后,屏幕依然亮着,触摸无响应 由于调试口uart1修改为了com3,无法在调 ...…

查看全部问答>

lm3sapp_sysctl_sleepdsleep_note

lm3sapp_sysctl_sleepdsleep_note 应该是系统休眠,我不去看了,下了自己看…

查看全部问答>

在Q II环境下出现了如下警告,请教解决办法

在Q II环境下出现了如下警告,请教高人给予指点解决办法: ----------------------------------------------------------------------  1. Warning:  Found 6 output pins without output pin load capacitance assignment  &nbs ...…

查看全部问答>

MSP430G2553 DA问题

怎么用MSP430G2553  做DA转换器 输出电压  求帮助  本人新手 不懂  谢谢!…

查看全部问答>