1. 现象
运行SYS/BIOS (TI-RTOS Kernel) v6.45 User's Guide的例子,3.8 Example Using Hwi, Swi, and Task Threads,第100页~104页。
连接BeagleboneBlak正常,build正确,执行时提示如下错误,
[CortxA8] Starting HwiSwiTask example.
Exception occurred in ThreadType_Main.
Main handle: 0x0.
Main stack base: 0x80015938.
Main stack size: 0x1000.
R0 = 0x6000019f R8 = 0x8000f760
R1 = 0x00000000 R9 = 0x00000000
R2 = 0x00000008 R10 = 0x00000000
R3 = 0x800166e8 R11 = 0x8000f748
R4 = 0x8000aed0 R12 = 0x48042000
R5 = 0x6000019f SP(R13) = 0x80007da4
R6 = 0x80016904 LR(R14) = 0x8000d5a4
R7 = 0x80016904 PC(R15) = 0x80007da4
PSR = 0x80016904
DFSR = 0x00001808 IFSR = 0x00000000
DFAR = 0x48042038 IFAR = 0x00000000
ti.sysbios.family.arm.exc.Exception: line 205: E_dataAbort: pc = 0x80007da4, lr = 0x8000d5a4.
xdc.runtime.Error.raise: terminating execution
发现程序停在函数 static void loader_exit(void){}处。
而按照手册说法,正确的执行结果会输出:
Starting HwiSwiTask example.
In taskFxn pending on Semaphore.
In clk1Fxn, arg = 1.
In clk1Fxn, arg = 2.
In clk1Fxn, arg = 3.
In clk1Fxn, arg = 4.
In clk2Fxn, posting Semaphore.
In taskFxn returned from Semaphore
这是为何。
2. 软件环境
CCS6.1.2
bios_6_45_01_29
processor_sdk_rtos_am335x_3_00_00_04
请工程师们给点解决方案,谢谢啦。
Lyu Frank:
回复 Jian Zhou:
谢谢,我升级试试。