初级会员

- 积分
- 180
- 金钱
- 180
- 注册时间
- 2016-1-15
- 在线时间
- 49 小时
|
10金钱
本帖最后由 KCLin 于 2021-5-15 15:57 编辑
在 MDK 環境下開發 touchGFX
build , download 成功
但是 App 無法啟動
經過 debug發現在 startup_stm32H750xx.s 就跳轉 HardFault_handler
所以根本也進不了main() (我這樣想應該沒錯吧?)
以下是 debug的截圖(因為在台灣,電腦連不上這,只能用平板發,希望能看得清楚)
debug
以下為分散加載檔案,修改自原子的RGBLCD例程
scatter
在建立touchGFX project 之前我已經有用 CubeMX 建立自己的 RGBLCD project(使用部分原子的函數) 作為測試是沒有問題的
說實話我不是資工科班,所以並不懂組合語言,只是用 STM32 做應用開發
如果問題太過簡單突兀還請見諒
感謝您的閱讀與回應
如果還需要什麼資料,請不吝告知,我會盡可能補上
謝謝您!
更新一下
對 startup_stm32H750xx.s 作 deBug,Command視窗出現如下的錯誤
Internal parameter error
Internal parameter error
Load "m4_H750_RGBLCD_touchGFX\\m4_H750_RGBLCD_touchGFX.axf"
BS \\m4_H750_RGBLCD_touchGFX\../Core/Src/system_stm32h7xx.c\147
_____________________________^
*** error 35: undefined line number
BS \\m4_H750_RGBLCD_touchGFX\../Core/Src/system_stm32h7xx.c\142
_____________________________^
*** error 35: undefined line number
BS \\m4_H750_RGBLCD_touchGFX\startup_stm32h750xx.s\240
_____________________________^
*** error 35: undefined line number
BS \\m4_H750_RGBLCD_touchGFX\startup_stm32h750xx.s\245
截圖如下:
其中
system_stm32h7xx.c line 147 為
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
SCB->CPACR |= ((3UL << (10*2))|(3UL << (11*2))); /* set CP10 and CP11 Full Access */
#endif
system_stm32h7xx.c line142 為
#if defined (DATA_IN_D2_SRAM)
__IO uint32_t tmpreg;
#endif /* DATA_IN_D2_SRAM */
以上 debug 都有 執行過 應該不是跳到 HardFault 的程式碼
SystemInt() 可以完全執行
應該是在
LDR R0, =__main
BX R0
這一段跳到 HardFault
R0 的值為 0x08000299
__main 的值為 0x08000298
該如何修正呢?
感謝您的協助!
|
|