当前位置:首页 > 基于TI-RTOS的CC3200调试过程记录 - 图文
3)用uniflash少些applicationcode
另外用Uniflash烧写的时候记得把SOP2的跳线帽插上
1.1
使用Uniflash软件烧写,一直提示errloadingdll经过几天的折腾,终于在uniflash文档上找出答案。
原来TI提供的CC3200uniflash不是最新版本,版本号为3.2.0.000123需升级到3.2.1.00000才行。否则一直提示errloadingdll
详细使用参考文档CC31xx&CC32xxUniFlash-TexasInstrumentsWiki。1.2
下载时,短路块J15J16J17的位置为100,否则下载不进去。当下载完后,从flash启动需拔掉短路块的位置。
1.3
uniflash的下载:
1.3.1下载example的例程:以oob为例
打开oob文件下的configure文件,位于html文件下的out_of_box.ucf.(例程自动包含了内核镜像文件系统镜像及相关文件)COMPort设为5
分别点击Format和Program即可。
1.3.2下载自己编译文件
1.新建一个configure文件
2./sys/mcuimg.bin文件选择release目录下的.bin文件(内核、驱动、app都在此文件中)注:勾选EraseUpdateVerify选项。
COMPort设为5。分别点击Format和Program即开。3.下载网络服务包ServicePackProgramming
(位于Servicesdk目录中)(相当于文件系统)
54.文件系统的文件在UserFiles添加。
2.发现仿真情况下,程序运行正常,当下载到flash后程序有时不能正常启动。
2.1当只下载.bin文件时,程序有时正常运行,有时不能启动,复位多次(两次),程序有时能重启2.2当其他文件下载完毕,下载sever包时,提示无法下载。(表明flash空间不够)2.3当取消部分网页文件,再下载服务器包,程序正常下载。
2.4
早晨开电脑时,经常提示M3的配置无效,重启电脑几次有时好用。按开发板复位键,直到CPU运行起来后,再重新仿真,OK。
怀疑:1.
8mflash的空间不够
2.
flash硬件可能有些问题,导致bootloader没有完全加载程序
7.1将开发板的仿真器的信号引出,接到新做的板上,可以正常下载。
(uniflash软件在下载时,会等待收到芯片的应答信号后,才继续下载。以前之所以能偶尔下载成功,是因为反复折腾,可能将这个应答信号置到所需的位。换成StellarisIn-CircuitDebugInterface的仿真器,问题解决。
注意此时新做板子的5V电源是从仿真器板上取得的,如果是从其他5v电源上取得,也无法下载。----电源一定要从仿真板上取得,切记,切记)
7.2换成2MB的flash
换成2MB的flash,jquery-ui.js反复试验多次文件也始终无法下载。Format中,将Capacity设置为2M,格式化后再重新下载,文件下载成功。说明:当更换flash后,capacity中也需设置容量,否则还是当1m的容量在用。
要使能调试界面需开启UIA功能:uia:loggingSetup中设置开启
需开启Timerstamp功能
XDCtools/Diagnostics/Timestamp中设置开启
需
debug运行后点击RTOSanalyese
注:系统tick与uia中时标
分别是两个定时器
更改.xcf配置文件后,最好makeclean下,再重新编译。
用CLOCK_CC3200配置文件,图形界面好用。gpiointerrupt_CC3200UIA功能不能用。
6图形化调试界面设置:
(15.0918遇到UIA调试的相关问题
发现rtsc_practise1----3图形界面功能都不能用,
新建一工程(TI-RTOSExamples--InstrumentationExamples)的TI-RTOS空工程还是不能支持UIA功能再新建一工程,TI-RTOS的配置文件与主程序分离的工程,还是不能支持UIA功能。
重启电脑后,UIA功能好用,可加载UIA的配置文件。怀疑,是仿真器的配置相关,在电脑重启后,好用了。
)
使能定时器功能:
(定时器选用定时器3设定为1000个tick=1000x1ms=1s)XDCtools/SYSBIOS/Scheduling/Timer
注:定时器0、1分别用于系统节拍和UIA时标,只能从ID号为2、3中选择定时器注意定时器的单位为us(1000periodinmicrosecs===1000us)
模块化编程注意:
4.1
Clock_Handleclk1,clk2;
Event_Handleevt;Mailbox_Handlembx;Semaphore_Handlesem;邮箱
信号量事件clk等
要想在各个文件中公用变量,需在配置文件中定义。
4.2对于驱动类型的结构体指针:
注:内核中uartspiii2c等关键字都被定义,在定义驱动的Handle指针时注意不要与这些关键字重复,否则有错误警告信息。例:bios的头文件中已定义constti_sysbios_knl_Task_Handleuart驱动类型的结构体例:UART_Handleuart0;
SPI_Handlespi0等,
7如果另一个任务也需调用Handle变量,在任务文件中定义全局变量;在头文件中声明为extern型。另一任务文件引用,需包含此头文件。
增加debug调试功能:
drvier中增加uart_monitor功能,系统会自动创建一个uart_monitor的任务
选择相应的工程,在debugconfiguration中loadoption选项中选择loadsymbolonly。CC3200的配置文件中不支持uart_monitor监视功能。
TM4C系列的DSP支持debug功能
API函数查看
CCS文档中,HELP->helpcontents-》SYS/BIOS
>APIreference》ti.sysbios.knl
c2000系列查看BIOS下的中断号:
InCCS,selectHelp?HelpContentsandthenclickonthefollowing(listwasedited):
----APIreference>>>ti.sysbosfamily.C28>>>>hwi
使能空闲任务
空闲任务的优先级为0,只能有一个死循环的空闲任务,且不能加task_sleep();配置文件中加入varIdle=xdc.useModule('ti.sysbios.knl.Idle');在可视化配置文件中共7个空闲任务,起好任务函数名即可用。
8
共分享92篇相关文档