最近贸易战愈演愈烈,加上2020年这突然袭来的疫情,我们公司使用的32位单片机的供货出现了不稳定因素。前两天公司就放风说是考虑国产芯片替换,果不其然,今天老大扔给我和刘工几片国产芯片,包括雅特力科技的AT32F403芯片、北京兆易创新的GD32F103和灵动的MM32F103,是说让我们测测其软件兼容性如何。
估计这次国产替换的目的是
1 研究备选方案,预防真正的缺货问题
2 降成本,据我了解,国产芯片要便宜不少,而且性能还提升蛮多,STC51就是先例
3 咱也不敢问,咱也不敢说
作为一个底层工程师,心里肯定是一百个不愿意。心想,我们目前使用的STM32F103用得好好的,几款产品验证下来,稳定性和质量都挺好的。关键是,这不,又是给我们增加工作量吗,又要改代码,又要debug,又要测试,然后又要改代码,又要debug,又要测试 ..
哎,胳膊拧不过大腿,还是继续搬砖吧。关于兼容性的测试还是硬着头皮做吧,与其反抗不了,不如欣然接受。
那就先从雅特力的AT32开始做起吧,谁叫他首字母是“A”呢,我喜欢按首字母排序。
AT32F403兼容性测试篇
----------------2020年5月28日
拿到雅特力芯片型号是AT32F403ZGT6,据采购部门兄弟说,这款型号和STM32F103ZTG6是脚位兼容和软件兼容,说人话就是除了logo,其他完全一样。关于替换工作,总共分为三步:
步骤一 解焊电路板上的STM32 芯片
步骤二 焊接对应AT32
步骤三 下载原STM32的bin档
完成。
当然,我是将信将疑的,毕竟STM32f103是32位单片机,兼容难度与之前STC51那种8位单片不是一个级别的,STM32F103的referencemanual就1000多页。
继续…
本次兼容性测试工作老大也比较重视,我们项目组主要由我和刘工一起负责,
l 刘工负责直接将我们的手持云台产品换上AT32F403RGT6,估计一两天就可以有结果,等两天我在该帖中顺便把刘工的结果汇报一下
l 我主要负责测试AT32各个外设功能是否ok,因为有些外设我们目前产品暂时没有用到,但未来升级可能用到,必须确保该单片机满足我们未来产品规划
验证这么多外设,用什么呢,不可能花力气去把代码都写一遍吧。冥思苦想之际,我一脚踹到了久封多年的正点原子开发板,是STM32F103战舰版。幸好所有的模块都还在,嘻嘻,在原子哥的论坛把最新的代码下载不就软硬件准备好了吗,好主意,。
题外话,原子哥可是我大学的第二个嵌入式学科老师,大学时我们宿舍是通过凑钱购买了一套正点原子开发板轮流使用才渐渐地入行嵌入式软件这个行业的。如果有幸原子哥看到该贴,原子哥我只想跟您说“谢谢您,我是您忠实粉丝,永远支持您”
不说那么多了,太肉麻,开工吧。
第一步 解封沉寂多年的正点原子战舰版,真的全是灰尘
第二步 解焊STM32F103ZET6焊接上AT32F403ZGT6,ZGT6只是flash容量比ZET6大,其他没有区别
第三步 使用Jlink下载正点原子第一个程序“实验1跑马灯”,
嗯?下载不了,Keil找不到芯片,报错。排查了一个小时,原来芯片没有焊接好。
继续…
说明一下,接下来的测试方法都是这样直接替换方式,代码和硬件电路不做任何修改,否则就失去了兼容性测试的意义。
----------------2020年5月29日上午
继续…
[td]
序号
测试案例
库函数版-
Test Result
备注
1
实验1 跑马灯实验
Pass
2
实验2 蜂鸣器实验
Pass
3
实验3 按键输入
Pass
4
实验4 串口实验
Pass
5
实验5 外部中断实验
Pass
6
实验6 独立看门狗实验
Pass
7
实验7 窗口看门狗实验
Pass
8
实验8 定时器中断实验
Pass
9
实验9 PWM输出实验
Pass
10
实验10 输入捕获实验
Pass
11
实验11 触摸按键实验
Fail
反馈给雅特力FAE得知:AT32F403ZGT6的有几个PIN配置为浮空输入时,会存在很弱的2.1V电平。后续型号有修好。
12
实验12 OLED显示实验
Pass
13
实验13 TFTLCD显示实验
Pass
14
实验14 USMART调试实验
Pass
15
实验15 RTC实验
Fail
反馈给雅特力FAE得知:掉电时间不走,AT32F403ZGT6的RTC不支持Back domain单独供电。后续型号会支持。
16
实验16 待机唤醒实验
Pass
17
实验17 ADC实验
Pass
18
实验18 内部温度传感器实验
Pass
19
实验19 光敏传感器实验
Pass
20
实验20 DAC实验
Pass
21
实验21 PWM DAC实验
Pass
22
实验22 DMA实验
Pass
23
实验23 IIC实验
Pass
24
实验24 SPI实验
Pass
25
实验25 485实验
Pass
26
实验26 CAN收发实验
Pass
27
实验27 触摸屏实验
Pass
28
实验28 红外遥控实验
Pass
29
实验29 游戏手柄实验
Pass
30
实验30 18B20数字温度传感器实验
Pass
31
实验31 DHT11数字温湿度传感器实验
Pass
32
实验32 MPU6050六轴传感器实验
Pass
33
实验33 无线通信实验
Pass
34
实验34 FLASH模拟EEPROM实验
Pass
----2020 年5 月29 日晚上
感谢各位大神的回帖,对于我这种菜鸟来说真的是受益匪浅。
-------我是完美分割线----------
从刘工得到消息,他那部分兼容性验证已完成,使用AT32F403RGT6 直接替换到我们的手持
云台,结果直接就可以工作,后面他会将主频拉到192MHz 并做压力测试。
花开两朵,各表一枝。继续我这边的测试...
我还是没有学会上传表格,老规矩,还是继续贴图
继续…
[td]
序号
测试案例
库函数版-
Test Result
备注
35
实验35 摄像头实验
Pass
36
实验36 外部SRAM实验
Pass
37
实验37 内存管理实验
Pass
38
实验38 SD卡_SDIO实验
Pass
39
实验39 FATFS实验
Pass
40
实验40 汉字显示实验
Pass
41
实验41 图片显示实验
Pass
42
实验42 照相机实验
Pass
43
实验43 音乐播放器实验
Pass
44
实验44 录音机实验
Pass
45
实验45 手写识别实验
Pass
46
实验46 T9拼音输入法实验
Pass
47
实验47 串口IAP实验
Pass
48
实验48 USB虚拟串口实验
Pass
49
实验49 USB读卡器实验
Pass
50
实验50 网络通信实验
Pass
51
实验51 UCOSII实验1-1-任务调度
Pass
52
实验51 UCOSII实验1-2-任务创建删除挂起恢复
Pass
53
实验52 UCOSII实验2-信号量和邮箱
Pass
54
实验53 UCOSII实验3-消息队列、信号量集和软件定时器USER
Pass
55
实验54 综合测试实验
Fail
除了前面的实验11和实验15,其他都可以通过。
56
扩展实验1 ATK-HC05蓝牙串口模块实验
Pass
57
扩展实验2 ATK-NEO-6M GPS模块实验
Pass
58
扩展实验3 ATK-7' TFTLCD电容触摸屏模块测试实验
Pass
59
扩展实验4 ATK-SIM900A GSM模块测试实验
Pass
60
扩展实验5 ATK-RM04 WIFI模块测试实验
Pass
61
扩展实验6 ATK-OV2640 摄像头模块测试实验
Pass
62
网络实验1 LWIP无操作系统移植
Pass
63
网络实验2 LWIP带UCOS操作系统移植
Pass
64
网络实验3 RAW_UDP实验
Pass
65
网络实验4 RAW_TCP客户端实验
Pass
66
网络实验5 RAW_TCP服务器实验
Pass
67
网络实验6 RAW_Webserver实验
Pass
68
网络实验7 NETCONN_UDP实验
Pass
69
网络实验8 NETCONN_TCP客户端
Pass
70
网络实验9 NETCONN_TCP服务器
Pass
71
网络实验10 NETCONN _WEBserver实验
Pass
----------------2020 年5 月30 日
感谢大家的关注,继续把后面的测试做完...
另外,发现个小技巧,原来该论坛发帖是可以贴表格的
[td]
序号
测试案例
库函数版-
Test Result
备注
72
EMWIN实验1 STemWin无操作系统移植
Pass
73
EMWIN实验2 STemWin带UCOSIII移植
Pass
74
EMWIN实验3 文本显示
Pass
75
EMWIN实验4 数值显示
Pass
76
EMWIN实验5 2D绘图
Pass
77
EMWIN实验6 绘制位图
Pass
78
EMWIN实验7 颜色条绘制
Pass
79
EMWIN实验8 存储设备
Pass
80
EMWIN实验9 分段存储设备
Pass
81
EMWIN实验10 自动设备对象
Pass
82
EMWIN实验11 WM重绘背景
Pass
83
EMWIN实验12 WM函数使用
Pass
84
EMWIN实验13 WM裁剪
Pass
85
EMWIN实验14 GUIbulider使用
Pass
86
EMWIN实验15 BUTTON使用
Pass
87
EMWIN实验16 BUTTON位图显示
Pass
88
EMWIN实验17 CHECKBOX小工具
Pass
89
EMWIN实验18 DROPDOWN小工具
Pass
90
EMWIN实验19 EDIT小工具
Pass
91
EMWIN实验20 FRAMEWIN小工具
Pass
92
EMWIN实验21 XBF格式汉字显示
Pass
93
EMWIN实验22 TTF格式字体显示
Pass
94
EMWIN实验23 汉字显示(FLASH外置字库)
Pass
95
EMWIN实验24 BMP图片显示
Pass
96
EMWIN实验25 JPEG图片显示
Pass
97
EMWIN实验26 GIF图片显示
Pass
98
EMWIN实验27 PNG图片显示
Pass
99
EMWIN实验所需SD卡文件
-
100
例1-1 UCOSII移植
Pass
101
例4-1 UCOSIII移植
Pass
102
例6-1 UCOSIII任务创建和删除
Pass
103
例6-2 UCOSIII任务挂起和恢复
Pass
104
例6-3 UCOSIII时间片轮转调度
Pass
105
例7-1 UCOSIII空闲任务钩子函数的使用
Pass
106
例9-1 UCOSIII软件定时器
Pass
107
例10-1 UCOSIII直接访问共享资源
Pass
108
例10-2 UCOSIII使用信号量访问共享资源区
Pass
109
例10-3 UCOSIII使用信号量进行任务同步
Pass
110
例10-4 UCOSIII优先级反转
Pass
111
例10-5 UCOSIII互斥信号量
Pass
112
例10-6 UCOSIII任务内嵌信号量
Pass
113
例11-1 UCOSIII消息传递
Pass
114
例11-2 UCOSIII任务内建消息队列
Pass
115
例12-1 UCOSIII事件标志组
Pass
116
例13-1 UCOSIII同时等待多个内核对象
Pass
117
例14-1 UCOSIII内存管理
Pass
放点测试的照片----
l 更换为AT32F403ZGT6之后的正点原子战舰板
l 综合实验-主界面
l 综合实验-记事本
l 综合实验-时钟
l 综合实验-Tom猫
l 综合实验-手写画笔
l 综合实验-录音机
l 综合实验-计算器
l 综合实验-陀螺仪
l 综合实验-系统设置
测试三天,来个总结
优势
1 兼容性出乎意外,这里打个90 分吧,打消了我之前对国产32 位单片机的固有偏见,看来目前的国内IC 设计技术的确突飞猛进。
2 性能增强部分比较满意,打个80 分吧。尤其是200MHz 主频和224 Kbytes 的SRAM。这对于我们产品升级帮助很大,对于我们开发者来讲,只是为了增加SRAM 和主频就换ST 更高级型号成本太高。
3 AT32 的售后服务好,85 分。关于实验11 和15 通不过问题,他们FAE 还是挺专业资深的,会快就查到问题点。尤其是那个Chario 李伟华,李工(不过,干嘛搞个英文名,而且他们从来不叫中文名,怪怪的)。
4 AT32 的迭代更新也是蛮快的,据说新设计的AT32F403A,在原403 的基础上进一步完善,不但修了实验11 和实验15 的问题,主频更是提升到240MHz。有机会的话,可以拿来测试测试。
不足
1 由于是新厂家,宣传太少又过于低调,导致相关资料不多,在网上不是很好找。
2 产品线少,目前只有403/413/415/403A/407 几个型号。听他们FAE 讲421,435 即将量产,
这是个好消息。下图是雅特力李工发的AT32 产品线规划,还是蛮期待的。
最后,由于以上测试样本不多,有一定局限性,欢迎各位帖友补充自己的测试结果。
另外,我有将正点原子综合程序配置为192M主频,升主频后在AT32上跑起来的确要比72M时顺畅很多,代码也贴一份吧。
国产芯片现在做的越来越好了。
AT32F403 一定要顶一下。这芯片性价比高。用M4的人赶快上。
楼主的排版好好整理一下。否则拖AT32F403后腿 哈哈。
本帖最后由 damiaa 于 2020-6-19 14:42 编辑雅特力AT32F403芯片、兆易创新的GD32F103和灵动的MM32F103,这几款目前来说都发展势头很好
就是看谁能把握住这次机会了
目前STM32F103价格已经涨到天上了,,