盤點(diǎn)STM32的國(guó)產(chǎn)替代者(5)
應(yīng)讀者要求,嵌入式ARM將繼續(xù)介紹能夠替代STM32的國(guó)產(chǎn)產(chǎn)品。今日帶來(lái)能夠完美替代STM32的產(chǎn)品是雅特力科技的AT32F407系列和AT32F403。
雅特力科技AT32F407系列高效能微控制器,搭載32位ARM® Cortex®-M4內(nèi)核,配合先進(jìn)制程可達(dá)超高效能240MHz的運(yùn)算速度。內(nèi)建的單精度浮點(diǎn)運(yùn)算單元(FPU)及數(shù)字信號(hào)處理器(DSP),搭配豐富的外設(shè)及靈活的時(shí)鐘控制機(jī)制,能滿足多種領(lǐng)域應(yīng)用。完善的內(nèi)存設(shè)計(jì),最高可支持1MB閃存存儲(chǔ)器(Flash)及224KB隨機(jī)存取存儲(chǔ)器(SRAM), 其閃存存儲(chǔ)器執(zhí)行零等待的優(yōu)異表現(xiàn),超越業(yè)界同級(jí)芯片水平。
AT32F407系列除集成高效能的運(yùn)算效能外,也導(dǎo)入sLib安全庫(kù)(SecurityLibrary)可支持密碼保護(hù)指定范圍程序區(qū),方案商燒錄核心算法到此區(qū)域,提供給下游客戶做二次開發(fā)。
另外特別支持8組UART串口,2組CAN總線,還集成兼容IEEE-802.310/100Mbps以太網(wǎng)口控制器特別適用于物聯(lián)網(wǎng)應(yīng)用,以及USB設(shè)備應(yīng)用不需外掛晶振,可同時(shí)提升終端產(chǎn)品的可靠度與降低成本的多重用途。
AT32F407可運(yùn)行于工業(yè)級(jí)溫度范圍-40~105°C,并因應(yīng)多樣的內(nèi)存使用需求,提供一系列芯片供選用,其豐富的片上資源分配、高集成及高性價(jià)比的一流市場(chǎng)競(jìng)爭(zhēng)力,特別適用于工業(yè)自動(dòng)化 (industrial automation),電機(jī)控制 (motorcontrol),物聯(lián)網(wǎng) (IoT) 及消費(fèi)性電子 (consumerelectronics) 等各種成本敏感及高運(yùn)算需求的設(shè)計(jì)。
最近,21ic家論壇進(jìn)行了一期AT32F407系列評(píng)測(cè)活動(dòng),這款產(chǎn)品性能如何?多說(shuō)無(wú)益,直接看幾個(gè)21ic家網(wǎng)友的測(cè)評(píng):
【AT-START-F407測(cè)評(píng)】開箱圖
用戶:zuoye986215
【AT-START-F407測(cè)評(píng)】AT32初體驗(yàn)
用戶:6552918
受疫情影響昨天才收到開發(fā)板,之前只是聽說(shuō)過(guò)雅特力這個(gè)廠家,重來(lái)沒用過(guò),這回搞個(gè)開發(fā)板來(lái)體驗(yàn)一下,老規(guī)矩,先點(diǎn)個(gè)燈,先水一貼再說(shuō)。
首先先下載廠家提供的開發(fā)包,看了下相關(guān)文件,文件分類很清晰規(guī)整,很好上手。
先簡(jiǎn)單看了下入門指南
我使用MDK,再安裝一下支持包
找到例程模版
打開工程
設(shè)置工程配置 編譯器默認(rèn)為AC5,下載器默認(rèn)為AT-LINK,無(wú)需任何修改
編譯完信息
下載程序,程序運(yùn)行正常
在更換編譯器為AC6,優(yōu)化等級(jí)-O1
編譯完信息
可以看出,AC6編譯器優(yōu)化效果還是不錯(cuò)的
程序下載運(yùn)行正常
到此,AT32第一個(gè)帖子就水到這里了,近期有空再上點(diǎn)干活。
【AT-START-F407測(cè)評(píng)】開箱測(cè)評(píng)、基礎(chǔ)介紹、上電亮燈
用戶:HangYongmao
歷時(shí)已久的快遞,今天終于收到了,先來(lái)發(fā)個(gè)開箱測(cè)評(píng)貼。
白色的板子,看起來(lái)十分的漂亮了。
開發(fā)板自帶 AT-Link-EZ 調(diào)試工具,它也可拆開后單獨(dú)搭配其他電路板使用,支持 IDE 在線調(diào)試、在線燒錄、USB 轉(zhuǎn)串口等功能。
硬件和布局
AT-START-F407是以LQFP100的AT32F407VGT7微控制器為中心來(lái)設(shè)計(jì)的。
下圖展示了AT-Link-EZ和AT-START-F407板上AT32F407VGT7與其外設(shè)之間的連接(按鈕、LED燈、USB、以太網(wǎng)RJ45、SPI閃存、以及擴(kuò)展接口)。
AT32F407開發(fā)板并支持Arduino標(biāo)準(zhǔn)接口,位于開發(fā)板上黃色排針位置
支持 AT-START-F407的開發(fā)工具鏈
ARM Keil:MDK-ARM? 。對(duì)于 Keil 編譯系統(tǒng),建議是 Keil 4.74 或 5.23 以上版本;
IAR:EWARM
AT-START-F407開發(fā)板中帶有4個(gè)指示燈,LED1(紅)用于3.3 V上電指示。3個(gè)用戶LED燈,LED2(紅),LED3(黃),和LED4(綠),用于應(yīng)用指示。按鍵模塊有一個(gè)復(fù)位按鍵和一個(gè)用戶按鍵。
供電電源選擇
開發(fā)板的電源可由Micro USB供電,分別位于AT-Link-EZ上的USB連接器(CN6)和AT-START-F407上的USB連接器(CN1)。
或者以一個(gè)外部7~12 V電源(VIN)通過(guò)板上5V電壓調(diào)節(jié)器(U1【AMS1117-5V】)提供所需的5 V電源。
5V電源通過(guò)板上3.3V電壓調(diào)節(jié)器(U2【RT9080N-08GJ5 絲印3R-Q4C】)提供微控制器及外設(shè)所需的3.3 V電源。
上電
按照下面的順序配置AT-START-F407板,開始啟動(dòng)應(yīng)用:
1. 檢查板上跳線位置:
JP1選擇GND或OFF(BOOT0為0,BOOT0在AT32F407VGT7內(nèi)自帶下拉電阻);
JP4選擇GND(BOOT1為0);
JP8連體跳線選擇右測(cè)IO端。
2. 用一根USB線(Type A轉(zhuǎn)micro-B)連接AT-Link-EZ到PC,通過(guò)USB連接器CN6給板子供電。
LED1(紅)恒亮,3個(gè)LED燈(LED2到LED4)開始輪流閃爍。
3. 按用戶鍵(B2)后,3個(gè)LED燈閃爍頻率改變。
【AT-START-F407測(cè)評(píng)】開箱測(cè)試
用戶:Ben666
很早以前就聽說(shuō)過(guò)at32的大名了,但遺憾一直沒用機(jī)會(huì)使用。剛好前段時(shí)間做活動(dòng)便抱著試一試的心態(tài)參加了,沒想到還真的成為了被選中的孩子。
拿到開發(fā)板時(shí)是非常的開心,沒想到板子上的atlink是直接連到芯片上的,后面更是發(fā)現(xiàn)atlink還帶了usb轉(zhuǎn)ttl,使用起來(lái)非常方便上圖。
開發(fā)板的用料還是非常不錯(cuò),居然都帶了磁珠,算是我目前看過(guò)的硬件最細(xì)節(jié)的一塊開發(fā)板了,at果然厲害。
at32和stm32的兼容性也非常棒,只需要做少量修改即可使用,區(qū)別非常小,基本上將工程建好,把原來(lái)stm32的外設(shè)文件加入,直接編譯,挨著報(bào)錯(cuò)修改即可。
at:
st:
目前做了少量測(cè)試后面的測(cè)評(píng)會(huì)具體講解
目前已經(jīng)封裝了adc,i2c,uart及一些常見模塊,后面測(cè)評(píng)中會(huì)有講解,開發(fā)板上使用的拓展板可以在立創(chuàng)開源平臺(tái)上搜索Ben_two即可看到,上面還有我的一些其它作品。
目前已經(jīng)封裝部分:
【AT-START-F407測(cè)評(píng)】板載調(diào)試器折騰記
用戶:紀(jì)國(guó)圣
今天晚上收到板子,于是迫不及待的連接至電腦調(diào)試。keil安裝好pack后,由于板子第一次連接電腦,所以需要通過(guò)Artery_ATLink-USART_DriverInstall.exe安裝驅(qū)動(dòng)。驅(qū)動(dòng)安裝成功后如圖:
然后將AT32F403的工程改寫為適用于AT32F407的工程后下載到芯片中,結(jié)果下載到一半突然斷開。打開Debug選項(xiàng)卡發(fā)現(xiàn)ATLINK找不到芯片:
很疑惑為什么調(diào)試器可以被識(shí)別而芯片不能。于是乎打開ArteryICPProgrammer.exe:
一番作下來(lái)不僅可以識(shí)別芯片,還可以正常下載程序,可keil還是不能識(shí)別芯片。難道我忘了什么操作?
漫無(wú)目的的查找發(fā)現(xiàn)Artery AT32 MCU Pack_20210113\Pack\Pack_Keil_AT32F4xx_CH_V1.3.4文件夾下Keil4_AT32F4xx_AddOn.exe:
點(diǎn)擊安裝,發(fā)現(xiàn)keil識(shí)別芯片:
可惜沒有興奮多久,重新下載之前的程序,keil又不能識(shí)別芯片。嘗試安裝Keil4_AT32F4xx_AddOn.exe不起作用。沒轍,通過(guò)ArteryICPProgrammer下載官方例程,問(wèn)題又解決了??磥?lái)我用的工程有問(wèn)題,之后只能重頭開始新建工程開發(fā)程序。
【AT-START-F407測(cè)評(píng)】移植FreeRTOS
用戶:紀(jì)國(guó)圣
本人參照文檔AN0025_FreeRTOS_on_AT32_MCU_ZH_V1.0.0第二章在AT32上移植FreeRTOS的方法移植FreeRTOS。main.c部分參照官方例程Debug_FreeRTOS。
說(shuō)明一下官方例程有點(diǎn)問(wèn)題。在debug_task中通過(guò)AT32_BUTTON_Press判斷是否打印調(diào)試信息??墒窃贏T32_BUTTON_Press函數(shù)中調(diào)用Delay_ms(10);會(huì)影響SysTick造成FreeRTOS一直運(yùn)行prvCheckTasksWaitingTermination。因此將AT32_BUTTON_Press換為AT32_BUTTON_State(BUTTON_WAKEUP) == Bit_SET。
編譯下載后效果如下:
【AT-START-F407測(cè)評(píng)】FFT效率測(cè)試
用戶:紀(jì)國(guó)圣
抽空對(duì)240MHz運(yùn)行的AT32F407VG做1024點(diǎn)FFT。DSP使用CMSIS DSP的arm_cortexM4lf_math.lib。無(wú)任何優(yōu)化。通過(guò)TMR1對(duì)其運(yùn)行時(shí)間測(cè)量,得到運(yùn)行時(shí)間為589us。注意,使用優(yōu)化會(huì)造成時(shí)間測(cè)量錯(cuò)誤。
這里不得不吐槽一下,為什么在定時(shí)器配置中已經(jīng)通過(guò)TMR_ClearITPendingBit(TMR1,TMR_FLAG_Update);清除中斷標(biāo)志位,可還是會(huì)進(jìn)入一次中斷。
下圖為STM32F407做FFT的效率:
【AT-START-F407測(cè)評(píng)】軟硬兼施用國(guó)產(chǎn)的測(cè)試
用戶:北方西門吹雪
1、雅特力放大招,一把送出去100片板子。所以,本帖子從軟件rtthread和雅特力組合來(lái)評(píng)測(cè),但不意味著認(rèn)為啥啥都用國(guó)產(chǎn)就是正確滴。
2、登錄雅特力的官網(wǎng)了解有關(guān)資料,根據(jù)對(duì)照表,這次是升級(jí)版本的芯片,是對(duì)應(yīng)著F407系列的比F1xx的要高級(jí)一把,曬圖如下。
板載上電是流水燈,可以調(diào)整流水的速度
3、首先要從rtthread官網(wǎng)上下載,然后直接安裝,首次啟動(dòng)要?jiǎng)?chuàng)建并登錄賬號(hào),使用qq啥的就可以直接進(jìn)去。
然后啟動(dòng)主頁(yè)面,典型eclipse布局
從新建項(xiàng)目開始,加載芯片sdk,這樣避免自己去到處找package
選擇后,進(jìn)入sdk管理器,選擇雅特力F4,安裝資源包
返回繼續(xù)建立項(xiàng)目,使用UART1的PA9和PA10,使用DAP-link,這個(gè)是CMSIS-DAP的升級(jí)版,也是一個(gè)免費(fèi)開源的工具,
3. 創(chuàng)建的代碼如下,
int main(void){ int count = 1; while (count++) { LOG_D("Hello RT-Thread!"); rt_thread_mdelay(1000); } return RT_EOK;}
編譯后下載成功
如約顯示rtthread的啟動(dòng)頁(yè)面,就可以開始進(jìn)入rtthread的開發(fā)路程了。
關(guān)于雅特力AT32兼容性測(cè)試,論壇網(wǎng)友也做了一期兼容測(cè)試,測(cè)試對(duì)象為AT32F403。具體過(guò)程是這樣的:(用戶:muyichuan2012)
貿(mào)易戰(zhàn)愈演愈烈,加上2020年突然襲來(lái)的疫情,公司使用的32位單片機(jī)的供貨出現(xiàn)了不穩(wěn)定因素。之前公司放風(fēng)考慮國(guó)產(chǎn)芯片替換,果不其然,老大扔給我?guī)灼瑖?guó)產(chǎn)芯片,包括雅特力科技的AT32F403芯片,讓我們測(cè)測(cè)其軟件兼容性如何。
這次國(guó)產(chǎn)替換的目的是:1、研究備選方案,預(yù)防真正的缺貨問(wèn)題;2、降成本,據(jù)我了解,國(guó)產(chǎn)芯片要便宜不少,而且性能還提升蠻多,STC51就是先例 。
作為底層工程師,心里肯定一百個(gè)不愿意,現(xiàn)在的STM32F103用得好好的,幾款產(chǎn)品驗(yàn)證下來(lái),穩(wěn)定性和質(zhì)量都挺好。又要改代碼,又要debug,又要測(cè)試……這不是又給我們?cè)黾庸ぷ髁繂幔扛觳矓Q不過(guò)大腿,還是繼續(xù)搬磚吧。
AT32F403兼容性測(cè)試篇
雅特力芯片型號(hào)是AT32F403ZGT6,采購(gòu)部門兄弟說(shuō),這個(gè)型號(hào)和STM32F103ZTG6是腳位兼容和軟件兼容,說(shuō)人話就是除了logo,其他完全一樣。關(guān)于替換工作,總共分為三步:
步驟一 解焊電路板上的STM32 芯片
步驟二 焊接對(duì)應(yīng)AT32
步驟三 下載原STM32的bin檔
完成。
當(dāng)然,我是將信將疑的,畢竟STM32f103是32位單片機(jī),兼容難度與之前STC51那種8位單片不是一個(gè)級(jí)別的,STM32F103的referencemanual就1000多頁(yè)。
我主要負(fù)責(zé)測(cè)試AT32各個(gè)外設(shè)功能是否ok,因?yàn)橛行┩庠O(shè)我們目前產(chǎn)品暫時(shí)沒有用到,但未來(lái)升級(jí)可能用到,必須確保該單片機(jī)滿足我們未來(lái)產(chǎn)品規(guī)劃。驗(yàn)證這么多外設(shè),不可能花力氣去把代碼都寫一遍吧。冥思苦想之際,一腳踹到了久封多年的正點(diǎn)原子開發(fā)板,是STM32F103戰(zhàn)艦版。幸好所有的模塊都還在:
第一步 解封沉寂多年的正點(diǎn)原子戰(zhàn)艦版
第二步 解焊STM32F103ZET6焊接上AT32F403ZGT6,ZGT6只是flash容量比ZET6大,其他沒有區(qū)別
第三步 使用Jlink下載正點(diǎn)原子第一個(gè)程序“實(shí)驗(yàn)1跑馬燈”
說(shuō)明一下,接下來(lái)的測(cè)試方法都是這樣直接替換方式,代碼和硬件電路不做任何修改,否則就失去了兼容性測(cè)試的意義。
總結(jié)
優(yōu)勢(shì):
1、兼容性出乎意外,這里打個(gè)90 分吧,打消了之前對(duì)國(guó)產(chǎn)32 位單片機(jī)的固有偏見,看來(lái)目前的國(guó)內(nèi)IC 設(shè)計(jì)技術(shù)的確突飛猛進(jìn)。
2、性能增強(qiáng)部分比較滿意,打個(gè)80 分吧。尤其是200MHz 主頻和224 Kbytes 的SRAM。這對(duì)于我們產(chǎn)品升級(jí)幫助很大,對(duì)于我們開發(fā)者來(lái)講,只是為了增加SRAM 和主頻就換ST 更高級(jí)型號(hào)成本太高。
3、AT32 的售后服務(wù)好,85 分。關(guān)于實(shí)驗(yàn)11 和15 通不過(guò)問(wèn)題,他們FAE 還是挺專業(yè)資深的,很快就查到問(wèn)題點(diǎn)。尤其是那個(gè)Chario 李偉華,李工(不過(guò),干嘛搞個(gè)英文名,而且他們從來(lái)不叫中文名,怪怪的)。
4、AT32 的迭代更新也是蠻快的,據(jù)說(shuō)新設(shè)計(jì)的AT32F403A,在原403 的基礎(chǔ)上進(jìn)一步完善,不但修了實(shí)驗(yàn)11 和實(shí)驗(yàn)15 的問(wèn)題,主頻更是提升到240MHz。有機(jī)會(huì)的話,可以拿來(lái)測(cè)試測(cè)試。
不足:
1、由于是新廠家,宣傳太少又過(guò)于低調(diào),導(dǎo)致相關(guān)資料不多,在網(wǎng)上不是很好找。
2、產(chǎn)品線少,目前只有403/413/415/403A/407 幾個(gè)型號(hào)。聽他們FAE 講421,435 即將量產(chǎn),
這是個(gè)好消息。下圖是雅特力李工發(fā)的AT32 產(chǎn)品線規(guī)劃,還是蠻期待的。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!