微信公眾號(hào) | strongerHuang
最近,收到面包板社區(qū)寄來(lái)的一款基于Cortex-M33內(nèi)核的國(guó)產(chǎn)單片機(jī)開發(fā)板:FR3068D-C
這塊開發(fā)板主控為國(guó)產(chǎn)MCU廠商富芮坤的FR3068E-C,還帶有一塊顯示屏:
拿到這塊板子,驚艷到我的不是開發(fā)板,而是他們提供的例程(非常的豐富)。
除了單片機(jī)常規(guī)的外設(shè)GPIO、UART、SPI、I2C等,還有很多學(xué)習(xí)單片機(jī)都會(huì)用到的協(xié)議棧(lwip)、文件系統(tǒng)(fatfs/littlefs)、日志庫(kù)(EasyLogger)、數(shù)據(jù)庫(kù)(FlashDB)、GUI(lvgl)、coremark跑分,還有USB、RTOS等很多單片機(jī)學(xué)習(xí)和開發(fā)項(xiàng)目中都會(huì)用到的技術(shù)。
這些例程是開源、且可以直接編譯運(yùn)行的代碼,開發(fā)環(huán)境主要是Keil MDK。
你可別小瞧這些例程,我敢說(shuō),絕大多數(shù)工作三五年,甚至十年的資深工程師都沒(méi)有完全弄懂這些技術(shù)。
這里先給大家看一段出廠的Demo:
接下來(lái)教大家用5分鐘時(shí)間上手這款國(guó)產(chǎn)Cortex-M33內(nèi)核單片機(jī)。
關(guān)于FR3068E單片機(jī)
教大家上手之前,先簡(jiǎn)單介紹一下這款國(guó)產(chǎn)Cortex-M33內(nèi)核單片機(jī)。
FR3068E這款單片機(jī),它不是有一款純單片機(jī),而是一塊集成藍(lán)牙核的雙核芯片。
藍(lán)牙部分我們這里不描述,主要講述單片機(jī)部分,從框圖可以看得出來(lái)單片機(jī)是一個(gè) 32 位的 CM33 內(nèi)核處理器。然后,片上資源以及外設(shè)也非常的豐富。
更多關(guān)于單片機(jī)的介紹,大家可以進(jìn)入富芮坤官網(wǎng)查看:https://www.freqchip.com/
5分鐘上手國(guó)產(chǎn)CM33單片機(jī)
官網(wǎng)提供了大量的開發(fā)文檔、資料、例程,我這里給大家理一下上手思路,以及注意事項(xiàng)。
1、官網(wǎng)下載開發(fā)文檔、資料、例程
下載地址:https://www.freqchip.com/sjds
上手之前,建議先看下這些開發(fā)文檔,以便了解更多信息。
2、搭建開發(fā)環(huán)境
這里主要有兩個(gè)環(huán)境:Keil MDK 和 Python,所以,需要在 WIndows 操作系統(tǒng)環(huán)境下進(jìn)行開發(fā)。
Keil MDK下載地址:https://www.keil.com/demo/eval/arm.htm
具體的安裝過(guò)程這里不描述,請(qǐng)參考:Keil?系列教程
Python下載地址:https://www.python.org/getit/
目前最新版本python-3.13.0:https://www.python.org/ftp/python/3.13.0/python-3.13.0-amd64.exe
同樣,Python具體的安裝過(guò)程這里不描述,Windows安裝程序,基本上一路next即可,可以參考網(wǎng)上安裝教程。
提醒一下:Python環(huán)境沒(méi)有搭建好,最后生成可執(zhí)行(下載)文件,就會(huì)出錯(cuò)。大家可以通過(guò)cmd命名輸入 python 進(jìn)行查看,如果出現(xiàn)類似下面情況,證明 python 環(huán)境搭建好了。
3、打開例程、編譯
這里我們打開(上面下載好的)官方提供的例程,比如:lvgl_demo工程
我們這里直接雙擊,用Keil MDK打開工程,然后直接編譯,最后會(huì)看到編譯0錯(cuò)誤的編譯信息:
此時(shí),在(output)輸出路勁下就會(huì)看到生成這樣幾個(gè)文件,其中Project_burn.bin這個(gè)文件就是我們用于下載到單片機(jī)中的程序文件。
4、下載程序
這里用官網(wǎng)提供的下載工具:
然后選在剛才編譯好的文件,點(diǎn)擊【打開燒錄】,復(fù)位單片機(jī)(按一下復(fù)位鍵):
最后會(huì)提示【燒錄成功】,然后還有一段“亂碼”出現(xiàn):
此時(shí),就會(huì)看到顯示屏上有畫面:
單片機(jī)片上外設(shè)例程:我們?cè)俅蜷_一下外設(shè)例程,比如GPIO例程:
官網(wǎng)提供例程LED引腳和我們開發(fā)板有點(diǎn)不匹配,我們這里修改一下:
void gpio_demo(enum_GPIO_Demo_t fe_Demo)
{
/* init GPIO CLOCK */
__SYSTEM_GPIOD_CLK_ENABLE();
__SYSTEM_GPIO_CLK_SELECT_COREH();
printf("gpio clock:%drn", system_get_peripheral_clock( PER_CLK_GPIOx));
switch(fe_Demo)
{
case GOIO_OUTPUT:
{
GPIO_Handle.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_Handle.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_Handle.Pull = GPIO_PULLUP;
gpio_init(GPIOD, &GPIO_Handle);
while(1)
{
//pin Output high Level
gpio_write_pin(GPIOD, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_SET);
system_delay_us(100000);
//pin Output low Level
gpio_write_pin(GPIOD, GPIO_PIN_6|GPIO_PIN_7, GPIO_PIN_CLEAR);
system_delay_us(100000);
}
}
}
}
編譯好,然后,以上面的下載方式進(jìn)行下載,就會(huì)出現(xiàn):
此時(shí),在開發(fā)板上,就會(huì)看到:看到這里,是不是覺(jué)得很簡(jiǎn)單?
是的,非常簡(jiǎn)單,對(duì)于有一定基礎(chǔ)的同學(xué),5分鐘就可以搞定。