The trade war has intensified recently, and coupled with the sudden outbreak of the epidemic in 2020, the supply of 32 -bit microcontrollers used by our company has become unstable. A few days ago, the company said that it was considering replacing domestic chips. Sure enough, today the boss threw a few domestic chips to me and Mr. Liu, including the AT32F403 chip from Arteli Technology, the GD32F103 from Beijing Zhaoyi Innovation, and the MM32F103 from Lingdong , asking us to test their software compatibility.
It is estimated that the purpose of this domestic replacement is
1. Research alternatives to prevent real stock-outs
2. Reduce costs. As far as I know, domestic chips are much cheaper and their performance is much better. STC51 is a precedent.
3 We dare not ask, we dare not say
As a low-level engineer, I definitely don't want to do this. I thought, the STM32F103 we are currently using works well, and after several products have been verified, the stability and quality are very good. The key is, isn't this just adding to our workload? We have to modify the code, debug , and test, and then modify the code again, debug , and test ...
Alas, I can't beat my opponent, so I'll just have to keep working. I'll just have to bite the bullet and do the compatibility test. It's better to accept it than to resist it.
Let’s start with Atria’s AT32 . Since its first letter is “ A ”, I like to sort them alphabetically.
AT32F403 compatibility test
---------------- May 28 , 2020
The model of the Arteli chip we got is AT32F403ZGT6 . According to the brothers in the purchasing department, this model is pin-compatible and software-compatible with STM32F103ZTG6 . In layman's terms, except for the logo , everything else is exactly the same. The replacement work is divided into three steps:
Step 1: Desolder the STM32 chip on the circuit board
Step 2: Soldering corresponding to AT32
Step 3 Download the original STM32 bin file
Finish.
Of course, I was skeptical. After all, the STM32f103 is a 32 -bit microcontroller, and the compatibility difficulty is not at the same level as the previous 8 -bit microcontroller such as STC51 . The reference manual of STM32F103 is more than 1,000 pages.
continue…
The boss also paid much attention to this compatibility test. Our project team was mainly led by me and Engineer Liu.
Mr. Liu is responsible for directly replacing our handheld PTZ products with AT32F403RGT6 . It is estimated that the results will be available in one or two days. I will report Mr. Liu's results in this post in two days.
I am mainly responsible for testing whether the functions of various peripherals of AT32 are ok , because some peripherals are not used in our current products, but may be used in future upgrades. We must ensure that the microcontroller meets our future product planning.
What should I use to verify so many peripherals? I can't spend the effort to write all the codes. When I was thinking hard, I kicked the long-forgotten Atom development board, which is the STM32F103 Battleship version. Fortunately, all the modules are still there. Hehe, download the latest code from the Atom forum, and the hardware and software will be ready. Good idea.
By the way, Atom is my second embedded system teacher in college. When we were in college, we bought a set of Atom development boards and took turns using them. Then we gradually entered the embedded software industry. If Atom sees this post, I just want to say "Thank you, I am your loyal fan and will always support you"
I won’t say any more, it’s too corny, let’s get to work.
The first step is to unblock the Atomic Battleship version that has been silent for many years. It is really full of dust.
The second step is to desolder the STM32F103ZET6 and solder it to the AT32F403ZGT6 . The only difference between ZGT6 and ZET6 is that the flash capacity is larger.
The third step is to use Jlink to download the first program of Zhengdian Atom, "Experiment 1 Marquee".
Hmm? Can't download, Keil can't find the chip, error. After an hour of troubleshooting, it turns out that the chip is not soldered properly.
continue…
To explain, the following test methods are all direct replacement methods, and no modifications are made to the code and hardware circuits, otherwise the compatibility test will lose its meaning.
---------------- May 29 , 2020 , morning
continue…
[td]
Serial number
Test Cases
Library function version -
Test Result
Remark
1
Experiment 1: Marquee Experiment
Pass
2
Experiment 2: Buzzer Experiment
Pass
3
Experiment 3: Key Input
Pass
4
Experiment 4: Serial port experiment
Pass
5
Experiment 5: External interrupt experiment
Pass
6
Experiment 6: Independent watchdog experiment
Pass
7
Experiment 7: Window watchdog experiment
Pass
8
Experiment 8: Timer interrupt experiment
Pass
9
Experiment 9 PWM output experiment
Pass
10
Experiment 10 Input capture experiment
Pass
11
Experiment 11 Touch button experiment
Fail
Feedback to Artly FAE revealed that when several PINs of AT32F403ZGT6 are configured as floating inputs, a very weak 2.1V level will exist. This has been fixed in subsequent models.
12
Experiment 12 OLED display experiment
Pass
13
Experiment 13 TFTLCD display experiment
Pass
14
Experiment 14 USMART debugging experiment
Pass
15
Experiment 15 RTC Experiment
Fail
Feedback to Artly FAE : The power-off timer does not work because the RTC of AT32F403ZGT6 does not support independent power supply of Back domain . Subsequent models will support it.
16
Experiment 16 : Standby wake-up experiment
Pass
17
Experiment 17 ADC Experiment
Pass
18
Experiment 18 Internal temperature sensor experiment
Pass
19
Experiment 19: Photosensitive sensor experiment
Pass
20
Experiment 20 DAC Experiment
Pass
twenty one
Experiment 21 PWM DAC Experiment
Pass
twenty two
Experiment 22 DMA experiment
Pass
twenty three
Experiment 23 IIC experiment
Pass
twenty four
Experiment 24 SPI Experiment
Pass
25
Experiment 25 485 Experiment
Pass
26
Experiment 26 CAN transceiver experiment
Pass
27
Experiment 27 Touch screen experiment
Pass
28
Experiment 28 Infrared remote control experiment
Pass
29
Experiment 29 Game controller experiment
Pass
30
Experiment 30 18B20 digital temperature sensor experiment
Pass
31
Experiment 31 DHT11 digital temperature and humidity sensor experiment
Pass
32
Experiment 32 MPU6050 six-axis sensor experiment
Pass
33
Experiment 33 Wireless communication experiment
Pass
34
Experiment 34 FLASH simulation EEPROM experiment
Pass
---- On the evening of May 29 , 2020
Thank you all for your replies, it is really helpful for a rookie like me.
------- I am the perfect dividing line ----------
I got the news from Mr. Liu that his part of the compatibility verification has been completed, and AT32F403RGT6 can be directly replaced with our handheld
The gimbal can work directly. Later, he will increase the main frequency to 192MHz and do a stress test.
Two flowers bloom, each with its own beauty. Continuing with my testing ...
I still haven't learned how to upload a form. As usual, I'll continue posting pictures.
continue…
[td]
Serial number
Test Cases
Library function version -
Test Result
Remark
35
Experiment 35 Camera Experiment
Pass
36
Experiment 36 External SRAM Experiment
Pass
37
Experiment 37 Memory Management Experiment
Pass
38
Experiment 38 SD card_SDIO experiment
Pass
39
Experiment 39 FATFS experiment
Pass
40
Experiment 40 Chinese character display experiment
Pass
41
Experiment 41 Picture display experiment
Pass
42
Experiment 42 Camera Experiment
Pass
43
Experiment 43 Music player experiment
Pass
44
Experiment 44: Recorder Experiment
Pass
45
Experiment 45 Handwriting recognition experiment
Pass
46
Experiment 46 T9 Pinyin input method experiment
Pass
47
Experiment 47 Serial port IAP experiment
Pass
48
Experiment 48 USB virtual serial port experiment
Pass
49
Experiment 49 USB card reader experiment
Pass
50
Experiment 50 Network Communication Experiment
Pass
51
Experiment 51 UCOSII Experiment 1-1- Task Scheduling
Pass
52
Experiment 51 UCOSII Experiment 1-2- Task Creation, Delete, Suspend, and Restore
Pass
53
Experiment 52 UCOSII Experiment 2- Semaphore and Mailbox
Pass
54
Experiment 53 UCOSII Experiment 3- Message Queue, Semaphore Set and Software Timer USER
Pass
55
Experiment 54 Comprehensive Test Experiment
Fail
Except for the previous experiments 11 and 15 , all others can be passed.
56
Extended experiment 1 ATK-HC05 Bluetooth serial port module experiment
Pass
57
Extended experiment 2 ATK-NEO-6M GPS module experiment
Pass
58
Extended experiment 3 ATK-7' TFTLCD capacitive touch screen module test experiment
Pass
59
Extended experiment 4 ATK-SIM900A GSM module test experiment
Pass
60
Extended experiment 5 ATK-RM04 WIFI module test experiment
Pass
61
Extended experiment 6 ATK-OV2640 camera module test experiment
Pass
62
Network experiment 1 LWIP without operating system porting
Pass
63
Network experiment 2 LWIP with UCOS operating system porting
Pass
64
Network experiment 3 RAW_UDP experiment
Pass
65
Network experiment 4 RAW_TCP client experiment
Pass
66
Network experiment 5 RAW_TCP server experiment
Pass
67
Network experiment 6 RAW_Webserver experiment
Pass
68
Network experiment 7 NETCONN_UDP experiment
Pass
69
Network experiment 8 NETCONN_TCP client
Pass
70
Network Experiment 9 NETCONN_TCP Server
Pass
71
Network experiment 10 NETCONN _WEBserver experiment
Pass
---------------- May 30 , 2020
Thank you for your attention, and continue to complete the following tests ...
In addition, I found a little trick. It turns out that you can post tables in this forum.
[td]
Serial number
Test Cases
Library function version -
Test Result
Remark
72
EMWIN Experiment 1 STemWin without OS porting
Pass
73
EMWIN Experiment 2 STemWin with UCOSIII transplantation
Pass
74
EMWIN Experiment 3 Text Display
Pass
75
EMWIN Experiment 4 Numerical Display
Pass
76
EMWIN Experiment 5 2D Plotting
Pass
77
EMWIN Experiment 6 Drawing Bitmap
Pass
78
EMWIN Experiment 7 Color Bar Plotting
Pass
79
EMWIN Experiment 8 Storage Device
Pass
80
EMWIN Experiment 9 Segmented Memory Device
Pass
81
EMWIN Experiment 10 Automatic Equipment Object
Pass
82
EMWIN Experiment 11 WM redraws the background
Pass
83
EMWIN experiment 12 WM function usage
Pass
84
EMWIN Experiment 13 WM Clipping
Pass
85
EMWIN Experiment 14 GUIbulider Usage
Pass
86
EMWIN Experiment 15 BUTTON Usage
Pass
87
EMWIN Experiment 16 BUTTON Bitmap Display
Pass
88
EMWIN Experiment 17 CHECKBOX Gadget
Pass
89
EMWIN Experiment 18 DROPDOWN Gadget
Pass
90
EMWIN Experiment 19 EDIT Gadget
Pass
91
EMWIN Experiment 20 FRAMEWIN Gadget
Pass
92
EMWIN Experiment 21 XBF format Chinese character display
Pass
93
EMWIN Experiment 22 TTF Format Font Display
Pass
94
EMWIN Experiment 23 Chinese Character Display (FLASH External Font Library )
Pass
95
EMWIN Experiment 24 BMP Image Display
Pass
96
EMWIN Experiment 25 JPEG Image Display
Pass
97
EMWIN Experiment 26 GIF picture display
Pass
98
EMWIN Experiment 27 PNG Image Display
Pass
99
SD card files required for EMWIN experiments
-
100
Example 1-1 UCOSII transplantation
Pass
101
Example 4-1 UCOSIII transplantation
Pass
102
Example 6-1 UCOSIII task creation and deletion
Pass
103
Example 6-2 UCOSIII task suspension and resumption
Pass
104
Example 6-3 UCOSIII time slice round-robin scheduling
Pass
105
Example 7-1 Usage of UCOSIII idle task hook function
Pass
106
Example 9-1 UCOSIII software timer
Pass
107
Example 10-1 UCOSIII directly accesses shared resources
Pass
108
Example 10-2 UCOSIII uses semaphores to access shared resource areas
Pass
109
Example 10-3 UCOSIII uses semaphores for task synchronization
Pass
110
Example 10-4 UCOSIII priority inversion
Pass
111
Example 10-5 UCOSIII Mutex Semaphore
Pass
112
Example 10-6 UCOSIII task embedded semaphore
Pass
113
Example 11-1 UCOSIII message passing
Pass
114
Example 11-2 UCOSIII task built-in message queue
Pass
115
Example 12-1 UCOSIII event flag group
Pass
116
Example 13-1 UCOSIII waits for multiple kernel objects at the same time
Pass
117
Example 14-1 UCOSIII memory management
Pass
Here are some test photos ----
l The punctual atomic battleship board after replacing with AT32F403ZGT6
l Comprehensive experiment - main interface
l Comprehensive experiment - notepad
l Comprehensive Experiment - Clock
l Comprehensive Experiment -Tom Cat
l Comprehensive experiment - handwriting brush
l Comprehensive experiment - recorder
l Comprehensive Experiment - Calculator
l Comprehensive Experiment - Gyroscope
l Comprehensive experiment - system setting
After three days of testing, here is a summary
Advantages
1. The compatibility is unexpected. I'll give it 90 points here. It has dispelled my inherent prejudice against domestic 32 -bit microcontrollers. It seems that the current domestic IC design technology has indeed made great progress.
2. I am quite satisfied with the performance enhancement, I give it 80 points, especially the 200MHz main frequency and 224 Kbytes SRAM . This is very helpful for our product upgrade. For us developers, it is too expensive to change to ST's more advanced models just to increase SRAM and main frequency .
3 AT32 's after-sales service is good, 85 points. Regarding the failure of experiments 11 and 15 , their FAE is quite professional and experienced, and they found the problem quickly. Especially the Chario Li Weihua, Engineer Li (but why give him an English name, and they never call him by his Chinese name, which is weird).
4 The iteration and update of AT32 is also quite fast. It is said that the newly designed AT32F403A is further improved on the basis of the original 403. It not only fixes the problems of Experiment 11 and Experiment 15 , but also increases the main frequency to 240MHz . If you have the opportunity, you can use it for testing.
insufficient
1Since it is a new manufacturer, there is too little publicity and it is too low-key, resulting in a lack of relevant information and it is not easy to find on the Internet.
2. There are few product lines, currently only 403/413/415/403A/407 . I heard from their FAE that 421 and 435 will be mass-produced soon.
This is good news. The picture below shows the AT32 product line plan of Yatli Ligongfa , which is quite exciting.
Finally, since the above test samples are small and have certain limitations, all posters are welcome to add their own test results.
In addition, I have configured the Zhengdian Atomic Synthesis Program to 192M main frequency. After the main frequency is increased, it runs much more smoothly on AT32 than at 72M . I will also post a copy of the code.