日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

战舰V3适配oneos系列01:bsp适配

發(fā)布時(shí)間:2023/12/29 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 战舰V3适配oneos系列01:bsp适配 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

戰(zhàn)艦V3適配oneos系列01:bsp適配

本系列以oneos2.3.0提供的STM32F103ZE模板為基礎(chǔ),將oneos在戰(zhàn)艦V3上運(yùn)行起來,并逐步適配相關(guān)外設(shè)
本系列計(jì)劃周更
本系列相關(guān)代碼將上傳gitee供測試體驗(yàn),倉庫:
https://gitee.com/dreamfly233/OneOS/tree/projects_OneOS-v2.3.0/

準(zhǔn)備項(xiàng)

  • 獲取oneos2.3.0的代碼:https://gitee.com/cmcc-oneos/OneOS/tree/OneOS-V2.3.0/
  • 安裝oneos cube:https://os.iot.10086.cn/v2/doc/detailPage/documentHtml?idss=157067959888781312&proId=156799478777782272
  • 安裝stm32cubemx,推薦6.3.0

生成工程:

在oneos/project文件夾下執(zhí)行project.bat,
選擇如圖:

注意SUB MODEL選擇STM32F103ZE
按esc退出并保存后,將生成STM32F103ZE的工程,建議將生成的文件夾改名, 以開發(fā)板型號(hào)為名方便區(qū)分, 這里將生成的STM32F103ZE文件夾更名為stm32f103zet6-atk-warship_v3

打開stm32f103zet6-atk-warship_v3文件夾,可以看到熟悉的目錄結(jié)構(gòu):

在該目錄下打開oneos cube,進(jìn)入menuconfig

  • 注意:BOOT項(xiàng)需要修改:將text section addr項(xiàng)修改為0x08000000,否則工程不能正常啟動(dòng);
  • 若按默認(rèn)的boot偏移制作并燒錄了bootloader,則可忽略該項(xiàng)

保存退出后,使用scons --ide=mdk5命令生成mdk5工程:

雙擊project.uvprojx打開工程

編譯后是可以直接下載進(jìn)板子運(yùn)行的(默認(rèn)配置使用內(nèi)部時(shí)鐘HSI),stlink等下載器選項(xiàng)自行修改

  • 下載器選項(xiàng)、下載算法等內(nèi)容可在template.uvprojx工程修改,修改后生成的mdk工程將使用模板工程的配置

在board.c中修改LED引腳, 戰(zhàn)艦為PB5和PE5, 修改后如下

重新編譯后燒錄運(yùn)行, 即可看到LED閃爍
默認(rèn)是配置了shell命令行的,使用串口1,將串口1接入電腦,可以看到shell正常運(yùn)行

修改時(shí)鐘:

使用stm32cubemx打開"board\CubeMX_Config\CubeMX_Config.ioc",選中外部時(shí)鐘

修改時(shí)鐘樹: 主頻改為72Mhz:

另外需要檢查debug是否已開啟,若sw被禁用會(huì)給燒錄程序帶來不便:

其他選項(xiàng)暫時(shí)不修改, 選擇生成代碼

cubemx生成的"stm32f1xx_hal_msp.c"已被包含進(jìn)工程, 主要對(duì)外設(shè)的時(shí)鐘,引腳復(fù)用,DMA等進(jìn)行配置,并對(duì)外設(shè)引腳進(jìn)行初始化

cubemx生成的main.c中, 含有時(shí)鐘初始化函數(shù)和外設(shè)功能初始化函數(shù), 這里只需要修改時(shí)鐘配置

打開"board\CubeMX_Config\Src\main.c" ,將SystemClock_Config函數(shù)復(fù)制并替換oneos工程bsp.c中的SystemClock_Config函數(shù), 結(jié)果如下:

至此,oneos在戰(zhàn)艦v3上的適配初步完成,時(shí)鐘已修改為外置時(shí)鐘, 串口1和shell已適配,添加外設(shè)將在后續(xù)更新

這里注意:

  • scons --ide=mdk5生成mdk工程時(shí), 將會(huì)通過腳本自動(dòng)將外設(shè)初始化函數(shù)從cubemx生成的main.c中復(fù)制到bsp.c中(會(huì)使用cubemx的外設(shè)初始化配置, 例如串口波特率配置等, 需要在cubemx中正確配置), 包含時(shí)鐘配置函數(shù), 只需生成mdk工程后進(jìn)行檢查

  • 另外scons --ide=mdk5生成工程時(shí)會(huì)根據(jù)cubemx中的配置生成"board/peripherals.c", 這將是設(shè)備驅(qū)動(dòng)模型注冊(cè)設(shè)備信息的依據(jù),該.c文件通過include包含,無需也不能加入工程編譯,該文件可實(shí)現(xiàn)cubemx添加外設(shè)后,自動(dòng)注冊(cè)到設(shè)備驅(qū)動(dòng)模型

總結(jié):在cubemx修改外設(shè)配置、時(shí)鐘后,調(diào)用一次scons --ide=mdk5可以自動(dòng)將相關(guān)配置復(fù)制到工程

總結(jié)

以上是生活随笔為你收集整理的战舰V3适配oneos系列01:bsp适配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。