STM32F407上除錯freeRTOS問題

2021-08-21 06:10:23 字數 1161 閱讀 7688

是在正點原子的阿波羅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導致編譯不過。

基於stm32f407建立stm32F427工程

分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...

STM32F407 驅動外部SRAM

需要驅動的sram型號為is61lv25616al,價效比比51216的高很多 配置cubemx 這幾個時序比較關鍵,可以按照手冊來計算,我用下來這幾個數值比較合適。然後就沒有然後了,生成 就可以用了。檢查sram內容是否正確 uint8 t bsp testextsram void 寫sram p...

STM32F407之了解程式設計環境

前文再續,書接上一回,前面我們建立了乙個資料夾,用來存放我們的工程,有建了三個資料夾,現在,分別解析一下這三個資料夾裡放的是什麼東西。inc資料夾裡放的是標頭檔案,一共六個,以後我們自己的標頭檔案也可以放到這裡來。stm32f4xx.h 包含了stm32f4的暫存器結構體的定義 類似於c51的reg...