[开发工具] 【PW200烧录器评测】+ PW200烧录器综合测评

[复制链接]
1429|12
 楼主| 纪国圣 发表于 2020-6-29 20:05 | 显示全部楼层 |阅读模式
本帖最后由 纪国圣 于 2020-7-12 09:02 编辑

一、开箱
今天收到申请的烧录器,于是迫不及待的打开包装。、
首先见到的是一封信,居然是亲笔签名!而且开头不是一般性的敬语,可见创芯工坊的细心和用心。在此先对创芯工坊表示感谢。
IMG_20200629_185739.jpg
然后是我们的主角-烧录器:
IMG_20200629_190635.jpg
IMG_20200629_190608.jpg
包装简洁,由一张名片、一个烧录器和线材组成。
IMG_20200629_190526.jpg
烧录器很小巧,只有手掌大小。估计采用了卡扣的结构,所以还没有拆开来看看内部结构。等有工具再看看内部电路。
其中这里应该是接挂绳的。外壳设计挺用心的。
IMG_20200629_190409.jpg
接口为传统的JTAG接口,只不过又在此基础上添加了一些功能:
接口1.png
接口2.png
最后来一张全体照:
IMG_20200629_190348.jpg
二、安装PowerWriter
本来打算测试PowerWriter在win XP至win 10的兼容性。于是打算在虚拟机安装与测试,结果。。。。。。
1.png
好吧只能在实体机上测试了。本人使用win8.1。首先双击PowerWriter_1.0.1.0_installer.exe安装PowerWriter:
安装1.png
然后弹出安装界面:
安装2.png
点击Custom更改安装路径:
安装3.png
安装中:
安装4.png
安装完成:
安装5.png
PowerWriter界面:
安装6.png
打开设备管理器,发现串口驱动没有安装:
安装7.png
按照手册说明进行安装:
首先右击PowerWriter Serial Port,点击更新驱动,然后选择从计算机的设备驱动列表中选取。
安装8.png
双击显示所有设备:
安装9.png
选择mbed Serial Port,点击下一步。
安装10.png
安装驱动完成。
安装11.png
安装12.png 本以为串口功能是引出来的,结果官方说没有。。。。。。
串口问题.jpg
对此实在无语。希望官方可以添加这个功能。
可是到这里还没有结束,因为keil5居然不识别仿真器
安装13.png
估计驱动不对。重新安装驱动:
安装14.png
安装15.png
安装驱动后可以识别了:
安装16.png



评论

期待更为精彩的功能评测!  发表于 2020-6-30 23:45
 楼主| 纪国圣 发表于 2020-7-5 13:54 | 显示全部楼层
本帖最后由 纪国圣 于 2020-7-5 15:16 编辑

三、不同品牌芯片和不同的IDE仿真测试IDE:1.keil5.26.2
先测试一下华大的HC32F460:
仿真1.png

仿真2.png
可以看出仿真正常,可以打断点,可以看到变量值。
其次测试MM32L073:
仿真3.png
结果出错。
最后测试STM32F103RCT6:
仿真4.png
仿真5.png
可以看出仿真正常,可以打断点,可以看到变量值。
但是继续测试会发现,当程序停至断点后再点击运行,程序不会在断点处停止而是继续运行,仿佛断点不存在一般,同时在加断点也不起任何作用。。。。。。
当IDE与单片机断开时,仿真器会发出声音提醒,这个功能挺好的。2.IAR Embedded Workbench for ARM 8.32.1.18631 仿真6.png
仿真器一直连接不上,不能仿真。
工程文件如下:

STM32F103RCT6.zip (579.78 KB, 下载次数: 0)
 楼主| 纪国圣 发表于 2020-7-7 19:10 | 显示全部楼层
本帖最后由 纪国圣 于 2020-7-8 08:07 编辑

四、PowerWriter初步使用
首先创建测试工程。在工程中定义一个const常量数组string_[],编译后通过.map文件可以看到string_[]被分配到地址0x08000bc8:
PowerWriter1.png
PowerWriter2.png
打开PowerWriter,点击选择芯片:
PowerWriter3.png
选择STM32F103RCT6:
PowerWriter4.png
可以看到芯片与上位机连接成功:
PowerWriter5.png
按图示设置参数:
PowerWriter6.png
点击Program Memory:
PowerWriter7.png
先执行查空操作,检查芯片内部是否有程序:
PowerWriter8.png
因为之前下载过程序,所以结果非空:
PowerWriter9.png
之久点击添加固件,准备下载程序:
PowerWriter10.png
PowerWriter可以识别.bin.hex.s19格式的文件,选择固件:
PowerWriter11.png
弹出参数设置对话框,用于设置地址等参数:
PowerWriter12.png
点击自动编程,执行程序下载:
PowerWriter13.png
好像成功了:
PowerWriter14.png
读取芯片内部程序,检查是否正确:
PowerWriter15.png
选择整片读取:
PowerWriter16.png
结果不对。。。。。。顺便吐槽一下,在未执行操作时,进度条能否不要变化?同时不要做循环播放?这样很容易产生误会。
PowerWriter17.png
用keil下载后再次查看,结果正确得到结果。。。。。。
PowerWriter18.png
重新编写一个例程,添加string1_[]并编译:
PowerWriter19.png
PowerWriter20.png 同时查看手册发现,需要按如下步骤才能下载程序至芯片:
PowerWriter34.png
选择编程选项:
PowerWriter35.png
软件提示编程成功:
PowerWriter36.png
这里提个建议。当烧写完成后能否直接弹出提示对话框?不然切换界面挺麻烦的。
重新打开软件,执行芯片flash读取操作:
PowerWriter40.png 可以看到烧写操作成功。
最后吐槽一下,当我断开上位机与烧写器的时候,上位机与烧写器居然又自动连上了。。。。。。

 楼主| 纪国圣 发表于 2020-7-11 09:52 | 显示全部楼层
本帖最后由 纪国圣 于 2020-7-11 12:52 编辑

六、UID加密与离线加载
在烧写功能设置中选择UID加密设置选项卡,加密模式选择内置离线授权:
PowerWriter47.png
设置密匙地址和Matrix编码:
PowerWriter48.png
在PowerWriterUID加密算法编辑器中按照图示顺序操作:
PowerWriter49.png
PowerWriter50.png
PowerWriter51.png
PowerWriter52.png
PowerWriter53.png
生成的代码:
PowerWriter54.png
PowerWriter55.png
PowerWriter56.png
将生成的代码中cortex_chipid_binding.c和cortex_chipid_binding.h添加到原来的工程项目中:
PowerWriter57.png
main函数中修改:

PowerWriter58.png
PowerWriter59.png
其中如果是通过非法途径获取的固件并下载,程序会进入到陷阱中,即a只做取反操作,如果是合法的烧录固件,则程序执行a++操作。
编译,出现错误:
PowerWriter60.png
ROM超出范围经检查是cortex_chipid_binding.h中UID_KEYADDR_INNER设置有些问题,作如下更改:
PowerWriter61.png
编译正常:
PowerWriter62.png
别忘记更改上位机:
PowerWriter63.png
选择序列号设置,使能条件序列号功能,并添加序列号地址:
PowerWriter64.png
选择数量设置与芯片检测,使能此安置烧写次数,并设置为3:
PowerWriter65.png
点击保存并离线加载:
PowerWriter66.png
设置密码与保存路径:
PowerWriter67.png
这里指出一点,进度条能否不要循环播放,让人造成误解?
PowerWriter68.png
PowerWriter69.png
先使用keil下载程序并仿真,可以看到程序掉入陷阱中:
PowerWriter70.png
关闭上位机,按下烧写器按键4次,可以看到前三次OK灯亮,第四次NG灯亮。
不知为何离线烧写速度十分缓慢,要等大约9秒才烧写完成。上位机直接下载不到3秒就烧写完成。
打开上位机,读取芯片固件:
PowerWriter71.png
可以看到在指定的地址读到了序列号,说明烧写正确。测试a的值为自增一变化。
删除原来的pkg文件,执行离线读取并保存:
PowerWriter72.png
PowerWriter73.png
PowerWriter74.png
可以看到保存在烧写器中的参数被正确读取:
PowerWriter75.png






 楼主| 纪国圣 发表于 2020-7-11 15:06 | 显示全部楼层
我去,怎么吞楼了?补一下。五、上位机更新:
上位机具有自动检测更新的功能。前几天官方推出了新版本,因此今天打开上位机时,检测到新版本:

PowerWriter41.png
点击立即更新:
PowerWriter42.png
PowerWriter43.png
此后又会提示升级固件:
PowerWriter44.png
点是,更新固件:
PowerWriter45.png
PowerWriter46.png
至此更新完毕。
提个建议:软件在弹出更新对话框时,能否写明此次更新添加了哪部分功能,修复了哪部分bug,好让用户决定是否更新。
 楼主| 纪国圣 发表于 2020-7-11 15:36 | 显示全部楼层
本帖最后由 纪国圣 于 2020-7-11 16:19 编辑

七、通过创芯工坊后台管理系统发布与下载固件
首先在创芯工坊官网上注册:
创芯工坊0.png
注册完成后,点击烧录工具并安装。
之后选择我是开发者,程序发布:
创芯工坊1.png
然后填写相关参数,上传pkg文件(本次使用离线模式):
创芯工坊2.png
创芯工坊3.png
选择确认发布。可以看到发布成功:
创芯工坊4.png
之后另一个账户可以看到上传的固件:
创芯工坊5.png
打开客户端,点击刷新,也可以看到上传的固件:
创芯工坊6.png
点击下载固件:
创芯工坊7.png
弹出配置对话框:
创芯工坊8.png
点击确定,开始烧录程序:
创芯工坊9.png
可以看到烧录成功,并且烧写次数减少了一次:
创芯工坊10.png
按下烧写器的按钮,执行离线下载。当OK灯亮起则表示烧写成功。
读取固件,可以看到序列号变化,烧写成功。
创芯工坊11.png


 楼主| 纪国圣 发表于 2020-7-12 09:10 | 显示全部楼层
纪国圣 发表于 2020-7-5 13:54
三、不同品牌芯片和不同的IDE仿真测试IDE:1.keil5.26.2
先测试一下华大的HC32F460:

官方回复: Screenshot_20200712_090921.jpg
AlexChiu 发表于 2020-7-13 16:40 | 显示全部楼层
感谢国圣的用心评测,上述提到的问题,有些已经在做调整和升级,谢谢支持!
 楼主| 纪国圣 发表于 2020-7-14 11:01 | 显示全部楼层
说一下希望PowerWriter烧录器添加的功能:1.仿真方面希望开放虚拟串口功能。虽然keil中有EventRecoder的Printf功能可以使用,但对于其它IDE的使用者就少了一项调试手段。额外添加串口模块也是增加工程师的成本呀。
2.对于基于Ecplise的IDE,虽然可以通过OPENOCD进行仿真,但是配置有些复杂,也希望官方能出一个集成好的插件,方便大家使用。
3.关于离线下载,可否加一块显示屏显示剩余次数?有时出差到别的公司是不准携带手机电脑的,没有显示剩余次数,工作时间一长就忘了还能烧写多少次了,已经完成多少。
4.看群里的拆解图片,应该有无线功能。对此表示期待。
AlexChiu 发表于 2020-7-14 13:09 | 显示全部楼层
纪国圣 发表于 2020-7-14 11:01
说一下希望PowerWriter烧录器添加的功能:1.仿真方面希望开放虚拟串口功能。虽然keil中有EventRecoder的Prin ...

谢谢你的意见和建议!有些功能我们已经在做升级规划,烧录器会是创芯工坊不断升级迭代的硬件产品,有些新功能我们也已经考虑在下一代硬件产品中。再次感谢!
 楼主| 纪国圣 发表于 2020-7-18 14:17 | 显示全部楼层
本帖最后由 纪国圣 于 2020-7-18 14:49 编辑

今天发现官方又更新了,于是更新了上位机和固件。
仿真8.png
重新测试IAR,发现可以仿真了:
仿真9.png
仿真10.png
仿真11.png
MDK下仿真断点问题也得到解决:
仿真12.png
仿真设置为Reset and Run:
仿真13.png
测试发现当keil 执行debugge时,上位机会自动断开/连接目标芯片,比较智能:
仿真14.png
仿真15.png
 楼主| 纪国圣 发表于 2020-7-25 14:59 | 显示全部楼层
本帖最后由 纪国圣 于 2020-7-25 15:01 编辑

九、在线授权
首先登陆官网,点击我是开发者
ICWORKSHOP1.png
点击授权中心
ICWORKSHOP2.png
点击添加
ICWORKSHOP3.png
按照图示顺序操作,获取公钥
ICWORKSHOP4.png
点击确定保存公钥
ICWORKSHOP5.png
可以看到设置的公钥已经被保存。
点击右侧界面的项目列表
ICWORKSHOP6.png
按图示顺序添加之前设置的算法
ICWORKSHOP7.png
ICWORKSHOP8.png
将PowerWriter_SampleF071例程中相关代码拷贝至sissdk文件夹中
ICWORKSHOP9.png
在原来的离线工程中添加上述代码和头文件(注:该工程使用了双验证方式)
ICWORKSHOP10.png
ICWORKSHOP12.png
修改堆栈大小以适应加密软件运行的需要
ICWORKSHOP11.png
按图所示修改代码
ICWORKSHOP13.png
ICWORKSHOP15.png
ICWORKSHOP16.png
ICWORKSHOP17.png
ICWORKSHOP18.png
其中修改PUBLIC_KEY是根据之前下载的publickey.cert得到的。用NOTEPAD++和HEXEDITOR插件就可以查看这个二进制文件。
ICWORKSHOP14.png
按照之前离线发布的方式上传文件,只不过编程模式改为在线授权。
ICWORKSHOP19.png
发布成功后,刷新创芯工坊客户端,可以看到发布成功的固件。
ICWORKSHOP20.png
选择下载固件,可以看到灯按照预期的方式闪烁。同时多烧录几次,可以看到运行次数减少。
ICWORKSHOP21.png
本人移植的例程和官方例程如下:
PowerWriter_SampleF071.zip (3.28 MB, 下载次数: 0)
STM32F103RCT6.zip (1.71 MB, 下载次数: 0)
小结一下:
在线方式比较离线方式加密性更好,但移植却更加复杂,同时需要移植的代码较多,对于小容量的MCU具有一些挑战性。希望官方可以缩小代码大小,简化移植流程。同时公钥下载最好有ASCII编码方式的文件,方便用户查看。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

407

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部