亿加合和智能车制作

标题: 【我写了什么鬼】用蓝牙无线下载小车程序!! [打印本页]

作者: fuqingxu    时间: 2018-7-2 17:13
标题: 【我写了什么鬼】用蓝牙无线下载小车程序!!
去年直立老司机的渣渣作品,预祝大家东北赛旗开得胜!!!!

[attach]93031[/attach]
用java写的,包含电脑上的程序,以及单片机上的呼应程序,鉴于无线传输的不稳定性,程序传输协议带有crc校验,绕开了会造成锁芯片的flash configeration field,与iar联动,当新程序被编译生成时,自动跳出提示
现在只有KEA的,最近压力太大,K60和K66的没有写,下面是演示视频
http://v.youku.com/v_show/id_XMzY5OTg2NjAzMg==.html?spm=a2h3j.8428770.3416059.1
再来一个
https://v.youku.com/v_show/id_XMzY5OTg1NjY4NA==.html?spm=a2h3j.8428770.3416059.1
不知大家是否感兴趣,感兴趣可以来窝工交(拷)流(贝)或者加Q群685137164来一起开发完善这个软件,等更成熟了,就上传到论坛上!

来自:哈尔滨工业大学智能车创新俱乐部:付清旭





作者: fuqingxu    时间: 2018-7-2 17:18
https://v.youku.com/v_show/id_XM ... j.8428770.3416059.1
作者: dxa572862121    时间: 2018-7-3 10:34
强大,不简单.
作者: ZJY97    时间: 2018-7-3 10:52
哪位大佬来解释一下是什么原理
作者: 2585341750    时间: 2018-7-3 11:27
清旭流弊!(破音)
作者: 山外メ雲ジ_VCAN    时间: 2018-7-3 11:53
ZJY97 发表于 2018-7-3 10:52
哪位大佬来解释一下是什么原理

原理:
IAR配置编译后执行程序。然后,蓝牙负责传输,单片机通过串口接收固件数据,写入到指定的地方。

本科生,做到这个功能,确实流弊。要对单片机的运行非常了解,才可以写出来的。


我们的KEA支持串口下载,之前用蓝牙串口测试过:3k的固件,这个过程4秒,包括握手,擦除,写入、校验。
[attach]93037[/attach]



作者: fuqingxu    时间: 2018-7-3 12:13
使用__ramfunc令iar将关键函数转移至ram(更严谨些最好应该写成位置无关函数,在执行时再拷贝至ram,以节省单片机ram空间),iar编译完成,dxlink检查到.hex文件修改,自动启动下载线程。
首先通讯双方进行握手,相互确认后,逐个扇区地进行复写,数据包包括地址,扇区数据以及crc32校验码
作者: fuqingxu    时间: 2018-7-3 12:15
单片机再次进行crc32校验,通过则启动扇区覆盖,覆盖完成后请求下一个扇区数据,直到电脑发出成功指令,接到成功指令,单片机软复位,重新从0地址执行全新程序
作者: fuqingxu    时间: 2018-7-3 12:25
软件本意是想将完成一个闪存备份功能,此外想要加速频繁繁琐的jlink下载过程。如果可以,用上下链的协议,完成无线的live watch功能,即输入变量名-解析地址-传送数据的功能。感兴趣的大佬们快加群吧,一起交流智能车技术,源码程序有求必应
作者: dxa572862121    时间: 2018-7-3 14:33
无线下载就ok了,还有无线live watch,就很nice了,你写的那个程序和iar通讯吗,大佬
作者: 默_念    时间: 2018-7-3 15:30
liu~~~
作者: fuqingxu    时间: 2018-7-3 15:37
dxa572862121 发表于 2018-7-3 14:33
无线下载就ok了,还有无线live watch,就很nice了,你写的那个程序和iar通讯吗,大佬

我是这么想的,iar每次编译都会到处.map说明它放置的变量位置和大小,如果在单片机和电脑之间部署一个通讯协议,让单片机把电脑那边希望得到的地址的数据发送出来,便实现了uart版的live watch
作者: alexyzhov    时间: 2018-7-4 11:58
赞👍 紫丁香老司机
作者: alexyzhov    时间: 2018-7-4 12:01
fuqingxu 发表于 2018-7-3 12:25
软件本意是想将完成一个闪存备份功能,此外想要加速频繁繁琐的jlink下载过程。如果可以,用上下链的协议, ...

我参考开源项目做过一个8266的dap,走usbip作透传。wireless debug效果还可以,不过usbip年久失修,用起来很麻烦。针对新型号的MCU还得自己写openocd的脚本,非常不友好





欢迎光临 亿加合和智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2