armok. 发表于 2020-6-6 11:38:04

热烈庆祝”采用电容触摸屏的离线脱机下载器“,由 SUPER_CRJ 领队


采用电容触摸屏的离线脱机下载器

说明:当前市场的离线下载器价格高,种类多,支持的芯片比较单一。最主要是一点:不够现代化,大多还使用按键,或者连按键都没有,稍微高端一点的就加个LCD,但是LCD都不是触摸的,或者说是电阻屏,显得太过时了。
所以需要设计一款现代化的离线下载器:电容屏无按键带电池多芯片的脱机下载器。
功能:
      离线下载器,可以离线下载基于SWD通信的ARM芯片,比如STM32,NXP,GD32,还有常见的:STM8和N76
主要方案:
      1:使用电容触摸屏,市场上当前都是按键+显示屏,有的连显示屏都没有。
      2:使用DAP核心,从MDK中抽取算法,几乎只要是MDK中有的芯片,这边都可以添加进去。
      3:加电池,随身携带。
      4:重新开模,市场上找的外壳都显示太工业化不够现代。
      5:开源方式,设计过程中的所有组合代码和硬件设计都开源。
      6:时间:预计从开始到结束,大约3个月之内。










mcuhome 发表于 2020-6-6 11:44:28

这个外观不错,看着挺上档次

OOXX110 发表于 2020-6-6 11:51:55

这个不错,跟进。

zhikunWang 发表于 2020-6-6 11:58:23

我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX,芯片的供电
电压5V,3,3V都不能烧写,需要将电压升压到5.8V左右。

建议: 芯片供电电压设置成可调的。

apple_eat 发表于 2020-6-6 12:08:12

建议用个可以跑linux的,如全志之类的做人机交互,另外一个mcu负责接口协议.

cheng-8yang 发表于 2020-6-6 12:11:01

zhikunWang 发表于 2020-6-6 11:58
我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX ...

兄台是做无刷电机控制器的吗?这个芯片能做恒功率吗?

zhikunWang 发表于 2020-6-6 12:14:48

是的,这个芯片是做无刷电机用的。
做恒功率跟芯片没关系,这个是软件算法的问题。
当然,这个芯片可以做恒功率。

su33691 发表于 2020-6-6 12:33:36

DAPLink?no care!

SUPER_CRJ 发表于 2020-6-6 12:53:03

zhikunWang 发表于 2020-6-6 11:58
我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX ...

好的,这次做就做成可以调节的电压的。不过一般做成1.8-5V的,那你的平时怎么下载的?JlinkV9之类的端口也是提供1.8-5.5V之间。

honami520 发表于 2020-6-6 13:09:05

这个项目不错。有兴趣加入。

armok. 发表于 2020-6-6 13:12:10

honami520 发表于 2020-6-6 13:09
这个项目不错。有兴趣加入。

你手上有项目可以开源的吗? 给我们也搞一个啊。

留声而过 发表于 2020-6-6 13:14:30

鼎力推荐

lb0857 发表于 2020-6-6 13:34:06

期待早日上市{:victory:}

air2016 发表于 2020-6-6 13:49:38

不错不错,非常期待。 整合之后方便了

yanyanyan168 发表于 2020-6-6 15:10:16

希望加入:能下载加密了并限制烧录次数的HEX功能。

zhikunWang 发表于 2020-6-6 16:20:34

SUPER_CRJ 发表于 2020-6-6 12:53
好的,这次做就做成可以调节的电压的。不过一般做成1.8-5V的,那你的平时怎么下载的?JlinkV9之类的端口 ...

另加了一个升压模块,从5V升到了5.8V左右

zhikunWang 发表于 2020-6-6 16:32:09

Jlink里升压模块为MT3608

PIC pickit2 编程器即可以通过上位机软件设置编程电压的,可以借鉴。


附件为pickit2的说明,原理图在P81

zhikunWang 发表于 2020-6-6 16:44:00

Jlink有个脱机编程器的,但是国内很难买。
Flasher,1千多美元,图片如下:


整理来说:非常好用,但是没有显示屏,不能加载多个工程hex

jianbo513 发表于 2020-6-6 17:33:41

支持开源项目,脱机下载器。

lingdianhao 发表于 2020-6-6 17:45:40

建议加个通讯口,TTL串口或者RS485,可以用来选择下载什么固件和控制下载。
自动化烧录很有用,不用人去选烧录什么固件。直接发指令控制下载什么固件。

SUPER_CRJ 发表于 2020-6-6 20:21:24

lingdianhao 发表于 2020-6-6 17:45
建议加个通讯口,TTL串口或者RS485,可以用来选择下载什么固件和控制下载。
自动化烧录很有用,不用人去选 ...

好的,谢谢建议。这个功能要加上。

peter_zhang 发表于 2020-6-6 21:10:29

这个项目不错,最近有个需要支持NXP的 MC9S08DZ60.

iamseer 发表于 2020-6-6 21:18:25

本帖最后由 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

我是一个大白菜 发表于 2020-6-6 21:19:35

这个不错,参与进来

okplay 发表于 2020-6-6 21:43:20

关注,感兴趣!

waymcu 发表于 2020-6-6 23:21:33


这个项目不错,关注

rei1984 发表于 2020-6-6 23:26:20

iamseer 发表于 2020-6-6 21:18
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧 ...

gif 用什么软件做的??

sonna 发表于 2020-6-7 01:29:13

又一个开源好项目,应接不暇呀!

7073640 发表于 2020-6-7 02:23:16

我也要参与,弄个这个,后面增加自己用到的MCU,不错

iamseer 发表于 2020-6-7 04:53:04

rei1984 发表于 2020-6-6 23:26
gif 用什么软件做的??

https://ezgif.com/

asj1989 发表于 2020-6-7 10:49:15

zhikunWang 发表于 2020-6-6 11:58
我一直也想做这件事,思路是类似Jlink的方案,也收集了很多资料。
主要是我们在用的一个系列的芯片PAC52XX ...

active-semi 的芯片吗?

zhikunWang 发表于 2020-6-7 16:45:05

asj1989 发表于 2020-6-7 10:49
active-semi 的芯片吗?

是的。active-semi只有一个系列,都是针对无刷电机的。

zhuisuoji 发表于 2020-6-8 00:12:42

这个好,期待中

roy2002 发表于 2020-6-8 00:15:13

mark{:lol:}{:lol:}{:lol:}

SUPER_CRJ 发表于 2020-6-8 12:53:17

iamseer 发表于 2020-6-6 21:18
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧 ...

好的,你这也非常好。我方案征集的时候问下意见。

leiyitan 发表于 2020-6-8 14:42:23

去年已经买了安富莱的H7-TOOL,楼主加油
内置电池和触摸,使用更加方便

xingzhong 发表于 2020-6-10 00:12:15

SUPER_CRJ 发表于 2020-6-6 20:21
好的,谢谢建议。这个功能要加上。

串口通信要很高级的烧录机才有,建议增加开始烧录,烧录中,烧录完成,三个I/O 方式。

dukelec 发表于 2020-6-10 03:16:50

本帖最后由 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 执行,它随机生成一个临时的非对称加密私匙,把配套的公匙回传到烧录工具(或服务器),这样最终一个烧录环节的固件是加密传输到芯片。
当然也有破解的方法,就是模拟一个假芯片套取固件,但门槛就高很多了。。。




(没有拍烧录成功的图。)

iamseer 发表于 2020-6-10 03:27:14

dukelec 发表于 2020-6-10 03:16
Linux 好评。。。

我更懒,当年直接用友善的平板做烧录工具,一开始还用 html5 做界面,后来干脆用字符 ...

这个赞!
我当时弄linux的初衷是烧录工具链因为莫名奇妙的驱动原因经常崩。所以索性放到一台独立的机器上。保证过几个月开机也不会有问题直接用。
另外就是给Arduino烧Bootloader再也不用每次都看手册研究指令,还担心熔丝位不正确。写到脚本里更方便。

dukelec 发表于 2020-6-10 03:35:32

本帖最后由 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 脚本,一起几百行代码搞定。。。


而且,一台工具,即可以烧录,还可以很方便的测试板子功能(我这个是测试蓝牙连接和控制)。

SUPER_CRJ 发表于 2020-6-10 09:18:57

dukelec 发表于 2020-6-10 03:16
Linux 好评。。。

我更懒,当年直接用友善的平板做烧录工具,一开始还用 html5 做界面,后来干脆用字符 ...

非常优秀。没想到有这么多的下载方法。

yelong98 发表于 2020-6-10 09:22:06

这个方案好,opocd或者pyocd用上就行了,不过跑python 可能有点费力

dukelec 发表于 2020-6-10 10:58:35

本帖最后由 dukelec 于 2020-6-10 11:05 编辑

SUPER_CRJ 发表于 2020-6-10 09:18
非常优秀。没想到有这么多的下载方法。

給你的小建議是,不要只做離線燒錄硬件,而是要做含雲端服務在內的一個體系 / 商業模式,讓普通工程師買你的服務(你收月費或燒錄次數抽佣),就可以做到和我一樣,開發一款產品,除了收研發費之外,還可以收 license 費,而且不用自己管理生產,顛覆海內外電子行業的外包模式。。。
除了配套硬件可以二次開發(只有 linux 才能足夠靈活和方便,硬件端建議部分開源,只收服務器的費用),服務器也提供接口可以做一些定製化(最好也支持用戶自己架服務器,只收燒錄工具硬件的錢)。
再就是你可以承接芯片燒錄服務,工程師只要把成卷的芯片寄給你們,你們燒錄好再包成卷。甚至是 PCBA 的燒錄和測試。
最終成爲燒錄界的+立創,上市敲鍾不是夢。。。

順便一提:
每次燒錄只傳輸小於幾 k 字節數據到服務器,實際使用幾乎沒出現過因網絡不好拖慢燒錄速度,我的服務器在美國,國內訪問經常非常慢,也沒影響工廠燒錄,如果服務器在國內,更不用擔心。
工廠也都有網絡環境,沒有也能解決,實在不行可以開手機熱點。

cyxavr 发表于 2020-6-13 19:30:11

这个很不错.以前在某宝买了个只能下STM8的,遇到其他芯片就无能为力了.

duxingkei 发表于 2020-6-14 18:37:05

本帖最后由 duxingkei 于 2020-6-14 18:38 编辑

我自己做的瑞萨RL78脱机,用的就是移植git的代码,顺便修复Bug,支持Hex,本来想做到linux板上的,无奈,C-Sky板子的Ch340驱动问题,放弃,不想用全志开发板。后来干脆移植到Stm32上外加Stm32做脱机,程序放Spi,模拟优盘,切换优盘固定的程序,就切换了烧录程序,可惜没有加密功能,自己用可以,工厂就不合适,怕泄密。

duxingkei 发表于 2020-6-14 18:41:27

dukelec 发表于 2020-6-10 10:58
給你的小建議是,不要只做離線燒錄硬件,而是要做含雲端服務在內的一個體系 / 商業模式,讓普通工程師買 ...

点赞,
很多台系的芯片就是你这种模式,好赚钱。
不过台系的一般烧录通信协议不开放,麻烦。

Dragontan 发表于 2020-6-14 23:44:35

期待大着

hnqylgq 发表于 2020-6-15 10:13:47

看起来都是高大上啊,期待开源!

HearBcast 发表于 2020-6-15 11:35:24

这个好,可以跟上啊

yelong98 发表于 2020-6-20 09:51:57

iamseer 发表于 2020-6-6 21:18
我是用 nano pi带oled的外壳做下载器的。好处是linux配置好编程软件,写好脚本,用任何编程器都可以。烧 ...

底层是调用openocd 实现的么?请教一下大神openocd默认的targets里面没有的单片机型号怎么扩充?比如华大的单片机

yelong98 发表于 2020-6-20 09:54:13

dukelec 发表于 2020-6-10 03:35
是的,linux 省心省事,我那个最底层的烧录工具也是拿别人 github 上的开源工具改一下只增加加密功能而已 ...

底层是调用openocd 实现的么?请教一下大神openocd默认的targets里面没有的单片机型号怎么扩充?比如华大的单片机

dukelec 发表于 2020-6-20 10:34:47

yelong98 发表于 2020-6-20 09:54
底层是调用openocd 实现的么?请教一下大神openocd默认的targets里面没有的单片机型号怎么扩充?比如华大 ...

不是,用的 cc-debugger 專用的燒錄工具,stm32 和 stm8 的 st-link v2 也都有各自的專用工具。openocd 好幾年沒有維護了,用起來感覺也麻煩。

华大的芯片看是否和 stm32 兼容可以用同一個工具,如果都不支持,又沒有現成開源的工具,就自己寫。

我目前唯一自己寫的燒錄工具是用 python 腳本 控制 ft232h 的 spi 實現 Lattice iCE40UL 的nvcm 燒錄。

yelong98 发表于 2020-6-20 10:53:26

dukelec 发表于 2020-6-20 10:34
不是,用的 cc-debugger 專用的燒錄工具,stm32 和 stm8 的 st-link v2 也都有各自的專用工具。openocd...

感谢热心回复!

iamseer 发表于 2020-6-21 11:30:41

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研究一下。

yelong98 发表于 2020-6-21 15:00:26

iamseer 发表于 2020-6-21 11:30
我是使用openocd烧录的。我当时用openocd烧 Atmel SAMD21,这个是直接支持,不需要添加任何配置。
OpenOC ...

感谢热心回复,最近在研究openocd,很多芯片,比如stm32都是默认支持的,自带target cfg文件,对于国内这种新兴cortex的芯片确实无法直接支持,cfg文件构成比较复杂,估计我能力搞不定。只能另辟他径了,谢谢指点

wl_am 发表于 2020-6-21 21:43:00

期待成功.有兴趣

iamseer 发表于 2020-6-22 11:26:58

yelong98 发表于 2020-6-21 15:00
感谢热心回复,最近在研究openocd,很多芯片,比如stm32都是默认支持的,自带target cfg文件,对于国内这 ...

我大概看了一下新唐的openocd (没有用过)
https://github.com/OpenNuvoton/OpenOCD-Nuvoton
看起来新唐的flash时序是单独写了一个numicro.c,需要重新编译。cfg文件倒是没几行。

bitcode 发表于 2020-7-20 12:05:24

很感兴趣,关注

15052233612 发表于 2021-1-11 09:46:47

关注,非常感兴趣
页: [1]
查看完整版本: 热烈庆祝”采用电容触摸屏的离线脱机下载器“,由 SUPER_CRJ 领队