0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MM32F5270(STAR-MC1內(nèi)核)適配RT-Thread教程

Rice嵌入式開發(fā)技術(shù)分享 ? 來源:Rice嵌入式開發(fā)技術(shù)分享 ? 作者:Rice嵌入式開發(fā)技術(shù) ? 2022-08-23 14:33 ? 次閱讀

概述

  • 2022年4月,靈動(dòng)微電子發(fā)布了搭載安謀科技“星辰”STAR-MC1處理器的全新高性能 MM32F5 微控制器系列。該系列在內(nèi)核、總線和外設(shè)配置等多個(gè)方面進(jìn)行了創(chuàng)新,內(nèi)核上更是首次搭載了 Armv8-M 架構(gòu)的 “星辰” STAR-MC1 處理器。很高興通過ARM中國拿到該芯片的開發(fā)板(可以搞事情)
709bbd4a-22ad-11ed-910d-dac502259ad0.png
  • MM32F5270 是一款搭載了安謀科技 STAR-MC1 內(nèi)核的 MCU 產(chǎn)品,其工作頻率可達(dá) 120MHz,內(nèi)置多達(dá) 256KB Flash 和 192KB RAM,配置浮點(diǎn)運(yùn)算單元(Floating Point Unit, FPU)、數(shù)字信號(hào)處理單元(Digital Signal Processing,DSP)、信號(hào)間互聯(lián)矩陣 MindSwitch、可配置邏輯單元 CLU、三角函數(shù)加速單元 CORDIC 等算法加速單元,并集成了豐富的外設(shè)模塊和充足的 I/O 端口。MM32F5270 相較于現(xiàn)有產(chǎn)品全面提升了性能、存儲(chǔ)容量、總線架構(gòu)和外設(shè)配置。

  • 芯片資源:

類型 描述
內(nèi)核 Arm China STAR-MC1 處理器,基于 Armv8-M Mainline 指令集架構(gòu),集成FPU 和 DSP
主頻 可達(dá)120MHz
Cache 4KB L1 I-Cache,4KB L1 D-Cache
FLASH 256KB
RAM 192KB(包括 32KB ITCM、32KB DTCM 和 128KB System RAM)
USB OTG 1個(gè),全速接口
以太網(wǎng) 10M/100M 以太網(wǎng)控制器
CAM 2 個(gè) FlexCAN 接口
  • 拿到開發(fā)板,就想著移植個(gè)操作系統(tǒng)。嘻嘻嘻,那必須先上RT-THREAD,組件資源豐富,易于后續(xù)功能的各項(xiàng)開發(fā)。

RT-Thread完整版的移植說明

移植之前須知內(nèi)容:

  1. 芯片是什么內(nèi)核?
  • 答:MM32F5270是基于Armv8-M 架構(gòu)的 “星辰” STAR-MC1 處理器。通過下圖可以看出,我們可以參考CM33內(nèi)核進(jìn)行移植。
70dd7dc0-22ad-11ed-910d-dac502259ad0.png70ecfe44-22ad-11ed-910d-dac502259ad0.png
  1. 編譯工具鏈?
  • 答:MM32F5270提供的demo是采用armclang(AC6),所以他跟ARMCC還不太一樣。通過官方文檔(https://www.keil.com/appnotes/files/apnt_298.pdf)可以看出AC6的匯編代碼是可以兼容GUN的。所以這個(gè)對(duì)移植是非常友好的。
70fdbf36-22ad-11ed-910d-dac502259ad0.png

開始移植

  1. 復(fù)制模板 -- 通過查找,可以復(fù)制BSP-stm32l552-st-nucleo作為模板
  2. 修改rtconfig.py -- 修改CPU類型,修改編譯選項(xiàng)

71128542-22ad-11ed-910d-dac502259ad0.png712c59b8-22ad-11ed-910d-dac502259ad0.png71391bd0-22ad-11ed-910d-dac502259ad0.png

  1. 修改libcpu--把m33的名字修改為star_mc1。
71536bac-22ad-11ed-910d-dac502259ad0.png
  1. 修改libcpu的匯編分割--復(fù)制libcpu的gcc匯編代碼到keil的匯編代碼中。從移植須知的第二點(diǎn)可知,AC6的匯編風(fēng)格是和GUN一樣的。所以直接拷貝。
716f62e4-22ad-11ed-910d-dac502259ad0.png
  1. 修改board.h--修正芯片資源宏定義。
717b24bc-22ad-11ed-910d-dac502259ad0.png
  1. 修改鏈接腳本--RT-Thread的動(dòng)態(tài)內(nèi)存堆是在ZI段結(jié)尾處到RAM尾部,而board.h中指向ZI段結(jié)尾處的變量(Image$$RW_IRAM1$$ZI$$Limit),所以需要修改MM32F5270的默認(rèn)鏈接腳本為如下:
7188f236-22ad-11ed-910d-dac502259ad0.png71a12d4c-22ad-11ed-910d-dac502259ad0.png
  1. 替換mm32的庫--將mm32f5270的sdk中的庫porting到libraies目錄中,并創(chuàng)建SConscript腳本文件。注意需要定義宏定義-BRD_PLUS_F5270
71d347d2-22ad-11ed-910d-dac502259ad0.png
  1. 初始化系統(tǒng)時(shí)鐘--將mm32f5279的sdk中系統(tǒng)時(shí)鐘初始化拷貝到board.c中
71ee534c-22ad-11ed-910d-dac502259ad0.png
  1. 初始化系統(tǒng)tick--將函數(shù)rt_tick_increase()放在system tick中斷中。
71fa1862-22ad-11ed-910d-dac502259ad0.png
  1. 以上步驟基本把rtt移植到mm32f5270中。

移植驗(yàn)證

  • 在main.c中main函數(shù)添加點(diǎn)燈的代碼。如果能夠看到led在閃爍,就說明移植成功了。
7210bf22-22ad-11ed-910d-dac502259ad0.png
  • 現(xiàn)象

shell適配

  1. 適配uart驅(qū)動(dòng)
  • 實(shí)現(xiàn)ops的5個(gè)函數(shù)
  • 將ops注冊(cè)到serial框架中
  • 注冊(cè)serial中斷,在中斷服務(wù)程序中調(diào)用rt_hw_serial_isr()函數(shù)
structrt_uart_ops
{
rt_err_t(*configure)(structrt_serial_device*serial,structserial_configure*cfg);
rt_err_t(*control)(structrt_serial_device*serial,intcmd,void*arg);

int(*putc)(structrt_serial_device*serial,charc);
int(*getc)(structrt_serial_device*serial);

rt_size_t(*dma_transmit)(structrt_serial_device*serial,rt_uint8_t*buf,rt_size_tsize,intdirection);
};

voidrt_hw_serial_isr(structrt_serial_device*serial,intevent);

rt_err_trt_hw_serial_register(structrt_serial_device*serial,
constchar*name,
rt_uint32_tflag,
void*data);
  1. 將對(duì)應(yīng)的串口驅(qū)動(dòng)名設(shè)置到rt_console_set_device()函數(shù)中。

shell驗(yàn)證

  • 串口終端可以正常輸入輸出
72251c2e-22ad-11ed-910d-dac502259ad0.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1240

    瀏覽量

    39485
  • MM32F5
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    523
  • MM32
    +關(guān)注

    關(guān)注

    1

    文章

    106

    瀏覽量

    677
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread系統(tǒng)完整版的移植說明

    Armv8-M 架構(gòu)的 “星辰” STAR-MC1 處理器。很高興通過ARM中國拿到該芯片的開發(fā)板(可以搞事情)MM32F5270 是一款搭載了安謀科技 STAR-MC1 內(nèi)核的 M
    發(fā)表于 08-22 16:37

    基于MM32F5270開發(fā)板獲取雨滴傳感器的數(shù)據(jù)相關(guān)資料介紹

    1、基于MindSDK對(duì)接雨滴傳感器我們還是來介紹一下開發(fā)板的相關(guān)參數(shù)。靈動(dòng)MM32F5270開發(fā)板是搭載安謀科技“星辰”STAR-MC1處理器的全新高性能 MM32F5270微控制器
    發(fā)表于 08-24 15:20

    基于MM32F5270開發(fā)板RT-Thread SPI驅(qū)動(dòng)適配指南

    。  drv_spi.h  目前RT-Thread的bsp中,STM32驅(qū)動(dòng)貌似是最為完整的。因此,決定開始MM32F5270RT-Thread SPI驅(qū)動(dòng)適配后,我首先參考了
    發(fā)表于 09-02 14:59

    MM32F5270(STAR-MC1內(nèi)核)RT-Thread完整版的移植教程

    后續(xù)功能的各項(xiàng)開發(fā)。RT-Thread完整版的移植說明移植之前須知內(nèi)容:芯片是什么內(nèi)核?答:MM32F5270是基于Armv8-M 架構(gòu)的 “星辰” STAR-MC1 處理器。通過下圖
    發(fā)表于 12-23 17:17

    基于MM32F5270控制器的I2S音頻播放

    MM32F5270 系列控制器支持 I2S 總線接口,本章節(jié)在接下來會(huì)對(duì) MM32F5270 I2S進(jìn)行介紹,并使用 MM32F5270 和 CS4344 芯片進(jìn)行 I2S 通信來演示播放一段聲音。
    的頭像 發(fā)表于 09-16 10:39 ?2068次閱讀

    靈動(dòng)MM32F5270斬獲 2022全球電子成就獎(jiǎng)之“年度微控制器/接口”獎(jiǎng)

    MM32F5270 是一款搭載了安謀科技 Arm China STAR-MC1 內(nèi)核的 MCU 產(chǎn)品,其工作頻率可達(dá) 120MHz,內(nèi)置多達(dá)256KB Flash 和 192KB RAM,配置浮點(diǎn)
    的頭像 發(fā)表于 11-11 11:07 ?847次閱讀

    RT-Thread文檔_內(nèi)核基礎(chǔ)

    RT-Thread文檔_內(nèi)核基礎(chǔ)
    發(fā)表于 02-22 18:28 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>內(nèi)核</b>基礎(chǔ)

    MM32F5270 產(chǎn)品手冊(cè)(中文版)

    MM32F5270 產(chǎn)品手冊(cè)(中文版)
    發(fā)表于 02-23 18:45 ?0次下載
    <b class='flag-5'>MM32F5270</b> 產(chǎn)品手冊(cè)(中文版)

    MM32F5270 產(chǎn)品手冊(cè)(英文版)

    MM32F5270 產(chǎn)品手冊(cè)(英文版)
    發(fā)表于 02-23 18:45 ?0次下載
    <b class='flag-5'>MM32F5270</b> 產(chǎn)品手冊(cè)(英文版)

    MM32F5270 用戶手冊(cè)(中文版)

    MM32F5270 用戶手冊(cè)(中文版)
    發(fā)表于 02-23 18:46 ?0次下載
    <b class='flag-5'>MM32F5270</b> 用戶手冊(cè)(中文版)

    MM32F5270 用戶手冊(cè)(英文版)

    MM32F5270 用戶手冊(cè)(英文版)
    發(fā)表于 02-23 18:46 ?0次下載
    <b class='flag-5'>MM32F5270</b> 用戶手冊(cè)(英文版)

    MM32F5270 勘誤表(中文版)

    MM32F5270 勘誤表(中文版)
    發(fā)表于 02-23 18:47 ?0次下載
    <b class='flag-5'>MM32F5270</b> 勘誤表(中文版)

    MM32F5270 勘誤表(英文版)

    MM32F5270 勘誤表(英文版)
    發(fā)表于 02-23 18:48 ?0次下載
    <b class='flag-5'>MM32F5270</b> 勘誤表(英文版)

    靈動(dòng)股份推出基于STAR-MC1MM32G5330

    MM32G5330微控制器搭載了由安謀科技授權(quán)的 Armv8-M 架構(gòu)“星辰”STAR-MC1 內(nèi)核,性能上比傳統(tǒng)的Cortex-M3/M4提升了近20%
    的頭像 發(fā)表于 05-23 17:24 ?1015次閱讀

    基于MM32F5270的I2S音頻播放

    基于MM32F5270的I2S音頻播放
    的頭像 發(fā)表于 10-30 17:13 ?939次閱讀
    基于<b class='flag-5'>MM32F5270</b>的I2S音頻播放