热烈庆祝”采用电容触摸屏的离线脱机下载器“,由 SUPER_CRJ 领队
采用电容触摸屏的离线脱机下载器
说明:当前市场的离线下载器价格高,种类多,支持的芯片比较单一。最主要是一点:不够现代化,大多还使用按键,或者连按键都没有,稍微高端一点的就加个LCD,但是LCD都不是触摸的,或者说是电阻屏,显得太过时了。
所以需要设计一款现代化的离线下载器:电容屏无按键带电池多芯片的脱机下载器。
功能:
离线下载器,可以离线下载基于SWD通信的ARM芯片,比如STM32,NXP,GD32,还有常见的:STM8和N76
主要方案:
1:使用电容触摸屏,市场上当前都是按键+显示屏,有的连显示屏都没有。
2:使用DAP核心,从MDK中抽取算法,几乎只要是MDK中有的芯片,这边都可以添加进去。
3:加电池,随身携带。
4:重新开模,市场上找的外壳都显示太工业化不够现代。
5:开源方式,设计过程中的所有组合代码和硬件设计都开源。
6:时间:预计从开始到结束,大约3个月之内。
这个外观不错,看着挺上档次 这个不错,跟进。 我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX,芯片的供电
电压5V,3,3V都不能烧写,需要将电压升压到5.8V左右。
建议: 芯片供电电压设置成可调的。
建议用个可以跑linux的,如全志之类的做人机交互,另外一个mcu负责接口协议. zhikunWang 发表于 2020-6-6 11:58
我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX ...
兄台是做无刷电机控制器的吗?这个芯片能做恒功率吗? 是的,这个芯片是做无刷电机用的。
做恒功率跟芯片没关系,这个是软件算法的问题。
当然,这个芯片可以做恒功率。 DAPLink?no care! zhikunWang 发表于 2020-6-6 11:58
我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX ...
好的,这次做就做成可以调节的电压的。不过一般做成1.8-5V的,那你的平时怎么下载的?JlinkV9之类的端口也是提供1.8-5.5V之间。 这个项目不错。有兴趣加入。 honami520 发表于 2020-6-6 13:09
这个项目不错。有兴趣加入。
你手上有项目可以开源的吗? 给我们也搞一个啊。 鼎力推荐 期待早日上市{:victory:} 不错不错,非常期待。 整合之后方便了
希望加入:能下载加密了并限制烧录次数的HEX功能。 SUPER_CRJ 发表于 2020-6-6 12:53
好的,这次做就做成可以调节的电压的。不过一般做成1.8-5V的,那你的平时怎么下载的?JlinkV9之类的端口 ...
另加了一个升压模块,从5V升到了5.8V左右 Jlink里升压模块为MT3608
PIC pickit2 编程器即可以通过上位机软件设置编程电压的,可以借鉴。
附件为pickit2的说明,原理图在P81
Jlink有个脱机编程器的,但是国内很难买。
Flasher,1千多美元,图片如下:
整理来说:非常好用,但是没有显示屏,不能加载多个工程hex 支持开源项目,脱机下载器。 建议加个通讯口,TTL串口或者RS485,可以用来选择下载什么固件和控制下载。
自动化烧录很有用,不用人去选烧录什么固件。直接发指令控制下载什么固件。 lingdianhao 发表于 2020-6-6 17:45
建议加个通讯口,TTL串口或者RS485,可以用来选择下载什么固件和控制下载。
自动化烧录很有用,不用人去选 ...
好的,谢谢建议。这个功能要加上。 这个项目不错,最近有个需要支持NXP的 MC9S08DZ60. 本帖最后由 iamseer 于 2020-6-6 21:20 编辑
apple_eat 发表于 2020-6-6 12:08
建议用个可以跑linux的,如全志之类的做人机交互,另外一个mcu负责接口协议.
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧录AVR ARM都可以。
https://github.com/DeqingSun/NanoHatOLED
这个不错,参与进来 关注,感兴趣!
这个项目不错,关注 iamseer 发表于 2020-6-6 21:18
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧 ...
gif 用什么软件做的?? 又一个开源好项目,应接不暇呀! 我也要参与,弄个这个,后面增加自己用到的MCU,不错 rei1984 发表于 2020-6-6 23:26
gif 用什么软件做的??
https://ezgif.com/ zhikunWang 发表于 2020-6-6 11:58
我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX ...
active-semi 的芯片吗? asj1989 发表于 2020-6-7 10:49
active-semi 的芯片吗?
是的。active-semi只有一个系列,都是针对无刷电机的。 这个好,期待中 mark{:lol:}{:lol:}{:lol:} iamseer 发表于 2020-6-6 21:18
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧 ...
好的,你这也非常好。我方案征集的时候问下意见。 去年已经买了安富莱的H7-TOOL,楼主加油
内置电池和触摸,使用更加方便 SUPER_CRJ 发表于 2020-6-6 20:21
好的,谢谢建议。这个功能要加上。
串口通信要很高级的烧录机才有,建议增加开始烧录,烧录中,烧录完成,三个I/O 方式。 本帖最后由 dukelec 于 2020-6-10 03:27 编辑
iamseer 发表于 2020-6-6 21:18
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧 ...
Linux 好评。。。
我更懒,当年直接用友善的平板做烧录工具,一开始还用 html5 做界面,后来干脆用字符终端,好处是意外出错方便分析。。。(以下图片视频就是客户拍给我分析问题的。)
操作也不麻烦,可以把字体调大,成功字符串绿色提示,失败红色提示,也很显眼,如果增加外部 LED 颜色指示灯就更加没问题了。。。
此烧录工具的功能主要是,可以自动从服务器升级烧录工具和固件,固件是 aes256 加密,且每烧录一次,都会计数,服务器留存 log(包含 cpu id,烧录工具 id,烧录固件版本,时间等)。。。
用户可以从菜单选择所需固件,默认不操作键盘,倒计时结束进入最近一次使用的烧录模式。
当时没空实现的高阶功能:
预防 jtag 口录制,虽然固件是密文,但 jtag 口是明文,有能力的人可以破解。
预防方法是,先烧录一个 bootloader 到 ram 执行,它随机生成一个临时的非对称加密私匙,把配套的公匙回传到烧录工具(或服务器),这样最终一个烧录环节的固件是加密传输到芯片。
当然也有破解的方法,就是模拟一个假芯片套取固件,但门槛就高很多了。。。
(没有拍烧录成功的图。) dukelec 发表于 2020-6-10 03:16
Linux 好评。。。
我更懒,当年直接用友善的平板做烧录工具,一开始还用 html5 做界面,后来干脆用字符 ...
这个赞!
我当时弄linux的初衷是烧录工具链因为莫名奇妙的驱动原因经常崩。所以索性放到一台独立的机器上。保证过几个月开机也不会有问题直接用。
另外就是给Arduino烧Bootloader再也不用每次都看手册研究指令,还担心熔丝位不正确。写到脚本里更方便。 本帖最后由 dukelec 于 2020-6-10 10:31 编辑
iamseer 发表于 2020-6-10 03:27
这个赞!
我当时弄linux的初衷是烧录工具链因为莫名奇妙的驱动原因经常崩。所以索性放到一台独立的机器上 ...
是的,linux 省心省事,我那个最底层的烧录工具也是拿别人 github 上的开源工具改一下只增加加密功能而已,其它直接用。
(stm8 stm32 nrf51/2 等等都有开源的 linux 烧录工具。现在想想加密工具不需要修改,用 tmpfs 可以实现一个虚拟私有分区,其它进程都访问不了,root 也访问不了,存放解密的明文固件就比较安全了。)
接目标芯片的硬件直接用现成的 st-link/v2、cc-debugger、usb-blaster、ft232h 等等,工厂不会在乎多那几十块钱。。。
整个工具,客户端和服务器全是 shell 脚本,一起几百行代码搞定。。。
而且,一台工具,即可以烧录,还可以很方便的测试板子功能(我这个是测试蓝牙连接和控制)。 dukelec 发表于 2020-6-10 03:16
Linux 好评。。。
我更懒,当年直接用友善的平板做烧录工具,一开始还用 html5 做界面,后来干脆用字符 ...
非常优秀。没想到有这么多的下载方法。 这个方案好,opocd或者pyocd用上就行了,不过跑python 可能有点费力 本帖最后由 dukelec 于 2020-6-10 11:05 编辑
SUPER_CRJ 发表于 2020-6-10 09:18
非常优秀。没想到有这么多的下载方法。
給你的小建議是,不要只做離線燒錄硬件,而是要做含雲端服務在內的一個體系 / 商業模式,讓普通工程師買你的服務(你收月費或燒錄次數抽佣),就可以做到和我一樣,開發一款產品,除了收研發費之外,還可以收 license 費,而且不用自己管理生產,顛覆海內外電子行業的外包模式。。。
除了配套硬件可以二次開發(只有 linux 才能足夠靈活和方便,硬件端建議部分開源,只收服務器的費用),服務器也提供接口可以做一些定製化(最好也支持用戶自己架服務器,只收燒錄工具硬件的錢)。
再就是你可以承接芯片燒錄服務,工程師只要把成卷的芯片寄給你們,你們燒錄好再包成卷。甚至是 PCBA 的燒錄和測試。
最終成爲燒錄界的+立創,上市敲鍾不是夢。。。
順便一提:
每次燒錄只傳輸小於幾 k 字節數據到服務器,實際使用幾乎沒出現過因網絡不好拖慢燒錄速度,我的服務器在美國,國內訪問經常非常慢,也沒影響工廠燒錄,如果服務器在國內,更不用擔心。
工廠也都有網絡環境,沒有也能解決,實在不行可以開手機熱點。
这个很不错.以前在某宝买了个只能下STM8的,遇到其他芯片就无能为力了. 本帖最后由 duxingkei 于 2020-6-14 18:38 编辑
我自己做的瑞萨RL78脱机,用的就是移植git的代码,顺便修复Bug,支持Hex,本来想做到linux板上的,无奈,C-Sky板子的Ch340驱动问题,放弃,不想用全志开发板。后来干脆移植到Stm32上外加Stm32做脱机,程序放Spi,模拟优盘,切换优盘固定的程序,就切换了烧录程序,可惜没有加密功能,自己用可以,工厂就不合适,怕泄密。 dukelec 发表于 2020-6-10 10:58
給你的小建議是,不要只做離線燒錄硬件,而是要做含雲端服務在內的一個體系 / 商業模式,讓普通工程師買 ...
点赞,
很多台系的芯片就是你这种模式,好赚钱。
不过台系的一般烧录通信协议不开放,麻烦。 期待大着 看起来都是高大上啊,期待开源! 这个好,可以跟上啊 iamseer 发表于 2020-6-6 21:18
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧 ...
底层是调用openocd 实现的么?请教一下大神openocd默认的targets里面没有的单片机型号怎么扩充?比如华大的单片机 dukelec 发表于 2020-6-10 03:35
是的,linux 省心省事,我那个最底层的烧录工具也是拿别人 github 上的开源工具改一下只增加加密功能而已 ...
底层是调用openocd 实现的么?请教一下大神openocd默认的targets里面没有的单片机型号怎么扩充?比如华大的单片机 yelong98 发表于 2020-6-20 09:54
底层是调用openocd 实现的么?请教一下大神openocd默认的targets里面没有的单片机型号怎么扩充?比如华大 ...
不是,用的 cc-debugger 專用的燒錄工具,stm32 和 stm8 的 st-link v2 也都有各自的專用工具。openocd 好幾年沒有維護了,用起來感覺也麻煩。
华大的芯片看是否和 stm32 兼容可以用同一個工具,如果都不支持,又沒有現成開源的工具,就自己寫。
我目前唯一自己寫的燒錄工具是用 python 腳本 控制 ft232h 的 spi 實現 Lattice iCE40UL 的nvcm 燒錄。 dukelec 发表于 2020-6-20 10:34
不是,用的 cc-debugger 專用的燒錄工具,stm32 和 stm8 的 st-link v2 也都有各自的專用工具。openocd...
感谢热心回复! yelong98 发表于 2020-6-20 09:51
底层是调用openocd 实现的么?请教一下大神openocd默认的targets里面没有的单片机型号怎么扩充?比如华大 ...
我是使用openocd烧录的。我当时用openocd烧 Atmel SAMD21,这个是直接支持,不需要添加任何配置。
OpenOCD对于不同芯片的支持是调用cfg目标文件实现的。
我大概看了一下,cfg文件里面包含芯片的不少参数,你可以参考http://openocd.org/doc/html/Config-File-Guidelines.html研究一下。 iamseer 发表于 2020-6-21 11:30
我是使用openocd烧录的。我当时用openocd烧 Atmel SAMD21,这个是直接支持,不需要添加任何配置。
OpenOC ...
感谢热心回复,最近在研究openocd,很多芯片,比如stm32都是默认支持的,自带target cfg文件,对于国内这种新兴cortex的芯片确实无法直接支持,cfg文件构成比较复杂,估计我能力搞不定。只能另辟他径了,谢谢指点 期待成功.有兴趣 yelong98 发表于 2020-6-21 15:00
感谢热心回复,最近在研究openocd,很多芯片,比如stm32都是默认支持的,自带target cfg文件,对于国内这 ...
我大概看了一下新唐的openocd (没有用过)
https://github.com/OpenNuvoton/OpenOCD-Nuvoton
看起来新唐的flash时序是单独写了一个numicro.c,需要重新编译。cfg文件倒是没几行。 很感兴趣,关注 关注,非常感兴趣
页:
[1]