我亲自进行了智行者IC-T203开发板配套SDK v2.1的实测,遇到了因PATH环境变量未生效致使arm-none-eabi-gcc找不到的情况,新手依照下面步骤逐步进行操作,便可轻松躲开这类……
我亲自进行了智行者IC-T203开发板配套SDK v2.1的实测,遇到了因PATH环境变量未生效致使arm-none-eabi-gcc找不到的情况,新手依照下面步骤逐步进行操作,便可轻松躲开这类常见问题。
1 社区资源包解压后先核对MD5值
其操作的路径是,在官网那种称作“智行者 IC 社区”的地方,然后进入资源中心,接着找到 T203 系列,再去下载那个名为“ic_sdk_v2.1.tar.gz”的文件,之后把它解压到 D:/zhixing_ic/这个地方(这里要求路径不能有中文),而后在命令行输入 certutil -hashfile ic_sdk_v2.1.tar.gz MD5 来核对官方所提供的 a3f2c8d1e4b5。
那些新手需避开的坑,常见的报错会出现 “No such file or directory” 这种情况,或者解压之后得到的是乱码文件 ,其核心原因在于压缩包在下载的时候发生了中断,又或者是MD5并不正确。解决的办法是 ,使用IDM重新去下载 ,强制进行校验以确保完整性 ,千万别使用浏览器的默认下载方式。
2 修改Makefile里关键参数OPT_LEVEL
将D并且:/zhixing_ic/sdk/build/Makefile予以打开,对OPT_LEVEL = -O2进行定位。最优推荐值为-O2,其理由在于,这个级别能够平衡代码体积以及运行速度,-O0调试信息过多致使固件超出flash 512KB,-O3会引发内联过度进而导致看门狗复位。通过实测,-O2编译之后固件大小为468KB,运行多任务时较为稳定。
【新手需躲避大坑之处】,编译之时若是报错为“section .text overflow”,又或者是“region FLASH’ overflowed”。出错所存在的原因是:默认状态下为-O3 ,又或者是忘记去更改参数。解决的办法是:手动将其改成 -O2 ,保存好了之后执行 make clean ,接着再make`。
3 两种烧录方案对比与取舍
方案A:采用JTAG烧录,其路径为,菜单“Flash”,接着进入“Configure”,然后选择“J-Link”,参数Speed设定为4000kHz。
方案B,串口进行烧录,其路径是,菜单当中存在“Tools”,接着进入“Serial Downloader”,随后要选择COM5,并且Baudrate设置为115200。
取舍的逻辑是这样的,当存在J-Link调试器并且有断点调试的需求的时候,就要选择A,它的速度比较快,不过要多连接4根线;要是只是进行批量烧录成品,那就选B,它只需要USB转TTL,然而每次都得按复位键。对于新手而言,建议先使用串口,这样能省去购买调试器的麻烦。
新手需避开的坑是,JTAG出现报错显示为“No device found on JTAG chain”。其出错的原因在于,接线存在松动的情况或者目标板没有上电。解决的办法是,首先查看TMS/TCK/TDI/TDO这四线的通断状况,再者板子要使其独立供电,不能仅仅依靠J-Link的3.3V。
4 高频完整报错一站式解决
报错呈现出的状况为:进行烧录时,其进度停滞在了“Writing data at 0x0800C000… timeout” 这个状态上。要遵循完整流程,首先要拔掉USB线,然后长按复位键10秒进行放电,接着更换一根带有磁环的优质USB线,之后在烧录软件里,通过菜单“Settings”进入到“Transfer”子菜单,将Packet Size从512修改为128,最后重试一次,并需要注意若遭遇超时情况就要更换电脑原生USB2.0口,而非使用扩展坞。
需要注意,新手要避开这个坑,那就是百分之九十的情况是由于USB线供电不足从而致使握手失败。千万不要盲目迷信Type-C快充线,因为很多这种线缺少数据脚。还有,要是去淘宝购买“西门子PLC编程线”,一定要选择带屏蔽的才会稳定。
5 结尾补充不适用场景
这个方法仅仅是针对智行者官方的T203 v2.1板卡以及社区v2.1以上的SDK。要是你所使用的是第三方复刻板或者老版本v1.8的SDK,那么在编译的时候有可能会缺少头文件。替代的方案是:前往社区“历史归档”板块去下载v1.8专属补丁,或者把板卡序列号发送给客服邮件以获取适配包。你手中拿着的板子是官方正版的吗?在评论区留下型号,我来帮你看一下参数。
微信扫一扫
还没有评论呢,快来抢沙发~