|
本帖最后由 WSTON 于 2020-9-28 14:55 编辑
移植ThreadX到RT1052遇到问题,在此请教各位大侠
使用芯片: RT1052 M7内核
参考汉哥的ThreadX的教程移植好了ThreadX,能够跑起多任务来了。
然后准备弄一下LCD,发现问题如下:
LCD管理器开启了中断,进行LCD清屏的时候进入了 DefaultISR中断处理函数
- NMI_WAKEUP_IRQHandler
- DefaultISR
- LDR R0, =DefaultISR
- BX R0
- ENDP
- ALIGN
- END
复制代码
之前移植的时候还没有用到中断,我个人怀疑是中断的问题没有处理好。
说明一下,RT1052的移植与教程中不同的地方就是RT1052没有定义栈顶 __initial_sp
所以我自己在启动文件定义了一个,其实也不知道是否完全正确:
- AREA RESET, DATA, READONLY
- EXPORT __initial_sp
- EXPORT __Vectors
- EXPORT __Vectors_End
- EXPORT __Vectors_Size
- IMPORT |Image$ARM_LIB_STACK$ZI$Limit|
- __Vectors DCD |Image$ARM_LIB_STACK$ZI$Limit| ; Top of Stack
- DCD Reset_Handler ; Reset Handler
- DCD NMI_Handler ;NMI Handler
- ;... 为截图省略了
- __Vectors_End
- __Vectors_Size EQU __Vectors_End - __Vectors
- AREA |.text|, CODE, READONLY
-
- ; kuver,怪了 + 0x80000000都还能跑
- ;__initial_sp EQU __Vectors + 0x80000000
- __initial_sp EQU __Vectors + 4
复制代码
谢谢
|
|