色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

RT-Thread qemu mps2-an385 bsp移植制作 :BSP制作篇

冬至子 ? 來源:張世爭 ? 作者:張世爭 ? 2023-08-02 14:49 ? 次閱讀

下載 V2M-MPS2_CMx_BSP

mps2 的資料很少,所以唯一能下載的是 ARM 官方的 V2M-MPS2_CMx_BSP

提取啟動文件與連接腳本

安裝 Keil.V2M-MPS2_CMx_BSP.1.8.0.pack 后, 在 V2M-MPS2_CMx_BSP1.8.0DeviceCMSDK_CM3SourceGCC 路徑下,有 mps2-an385 的啟動文件與連接腳本

1.jpg

把 V2M-MPS2_CMx_BSP1.8.0DeviceCMSDK_CM3SourceGCCgcc_arm.ld 復(fù)制到工程 qemu-mps2-arm 目錄下,可以改為 link.lds。
把 V2M-MPS2_CMx_BSP1.8.0DeviceCMSDK_CM3SourceGCCstartup_CMSDK_CM3.S 復(fù)制到工程 qemu-mps2-arm/drivers 目錄下

【備注】也可把整個 V2M-MPS2_CMx_BSP1.8.0DeviceCMSDK_CM3 目錄復(fù)制到工程 qemu-mps2-arm/drivers 目錄下

通過簡單了解到,這個啟動文件與連接腳本,與 STM32F103 系列的很像。

scons 構(gòu)建環(huán)境的搭建
RT-Thread BSP 使用 scons 進(jìn)行構(gòu)建,所以需要 SConscript SConstruct 兩個文件,另外需要 rtconfig.py 文件,這幾個文件可以從其他的 RT-Thread bsp 如 bspstm32stm32f103-fire-arbitrary 復(fù)制過來,修改一下構(gòu)建路徑即可

SConscript 文件 無需修改,內(nèi)容如下,遍歷 當(dāng)前與子目錄下的 SConscript,獲取構(gòu)建的目標(biāo)

RT-Thread building script for bridge

import os
from building import *
cwd = GetCurrentDir()
objs = []
list = os.listdir(cwd)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
Return('objs')
SConstruct 文件:只需要修改 RTT_ROOT 的路徑
import os
import sys
import rtconfig
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
else:
RTT_ROOT = os.path.join(os.getcwd(), '..', 'rt-thread')
print(RTT_ROOT)
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
from building import *
TARGET = 'rtthread.' + rtconfig.TARGET_EXT
DefaultEnvironment(tools=[])
env = Environment(tools = ['mingw'],
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
env['ASCOM'] = env['ASPPCOM']
Export('RTT_ROOT')
Export('rtconfig')

prepare building environment

objs = PrepareBuilding(env, RTT_ROOT)

make a building

DoBuilding(TARGET, objs)
rtconfig.py 文件: 基本不需要修改,注意復(fù)制一份 STM32F103 系列 Cortex-M3 的,如 bspstm32stm32f103-fire-arbitraryrtconfig.py
圖形配置文件
RT-Thread 在 ubuntu 下使用 scons --menuconfig 進(jìn)行圖形界面配置,需要相應(yīng)的 Kconfig 文件,當(dāng)前需要兩個 Kconfig 文件,BSP 下 Kconfig 與
bsp/drivers 下的 Kconfig,如 從 bspstm32stm32f103-fire-arbitrary 復(fù)制一份,修改一下

qemu-mps2-arm/Kconfig 內(nèi)容,注意修改 RTT_DIR 路徑

mainmenu "RT-Thread Project Configuration"
config BSP_DIR
string
option env="BSP_ROOT"
default "."
config RTT_DIR
string
option env="RTT_ROOT"
default "../rt-thread"
config PKGS_DIR
string
option env="PKGS_ROOT"
default "packages"
source "$RTT_DIR/Kconfig"
source "$PKGS_DIR/Kconfig"
source "$BSP_DIR/drivers/Kconfig"
qemu-mps2-arm/drivers/Kconfig

這里需要配置一下 MCU 的信息,如 select ARCH_ARM_CORTEX_M3,用于選擇 RT-Thread 的 rt-thread/libcpu/arm/cortex-m3/

mps2-an385 的串口是 uart0 開始的,配置一個用于 MSH shell 的串口,當(dāng)前驗證是 uart0 可以正常工作

menu "Hardware Drivers Config"
config SOC_MPS2_CORTEX_M3
bool
select ARCH_ARM_CORTEX_M3
select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN
default y
menu "Onboard Peripheral Drivers"
config BSP_USING_UART0
bool "Enable UART0"
default y
config BSP_USING_UART1
bool "Enable UART1"
default n
endmenu
endmenu
默認(rèn)需要有一個 rtconfig.h,這個文件可以手動創(chuàng)建,內(nèi)容為空即可,然后通過 scons --menuconfig,即可刷新 rtconfig.h 的內(nèi)容,同時生成 .config 默認(rèn)配置文件
mps2-an385 相關(guān)的文件
當(dāng)前 把 KeilV2M-MPS2_CMx_BSP1.8.0DeviceCMSDK_CM3 復(fù)制到 工程 qemu-mps2-arm/drivers/ 目錄下,
創(chuàng)建并修改 qemu-mps2-arm/drivers/SConscript,用于編譯 qemu-mps2-arm/drivers 驅(qū)動相關(guān)的文件
import rtconfig
from building import *
cwd = GetCurrentDir()

src = Glob('*.c')

src = Split('''
CMSDK_CM3/Source/system_CMSDK_CM3.c
board.c
drv_common.c
drv_uart.c
''')
list = os.listdir(cwd)
CPPPATH = [cwd]
CPPPATH += [cwd + '/CMSDK_CM3/Include']
CPPPATH += [cwd + '/cmsis/core/include']
objs = []
if rtconfig.PLATFORM in ['gcc']:
src += ['CMSDK_CM3/Source/GCC/startup_CMSDK_CM3.S']
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(d, 'SConscript'))
objs = objs + group
Return('objs')
從其他 bsp,復(fù)制一份 board.c board.h 文件 到 qemu-mps2-arm/drivers,board 初始化

從其他 bsp,復(fù)制一份 drv_uart.c drv_uart.h 文件 到 qemu-mps2-arm/drivers,串口驅(qū)動

從其他 bsp,復(fù)制一份 drv_common.c 到 qemu-mps2-arm/drivers,當(dāng)前主要是 定時器初始化

編譯并解決編譯錯誤

scons 構(gòu)建 drivers/system_CMSDK_CM3.c354: error: #error device not specified!,可以在
qemu-mps2-arm/drivers/CMSDK_CM3/Source/system_CMSDK_CM3.c 文件上面定義 MCU 的型號 #define CMSDK_CM3

scons 構(gòu)建 缺少 core_cm3.h 文件: 這部分可以復(fù)制 Keil MDK5 pack 路徑下的 ARMCMSIS5.8.0CMSISCoreIncludecore_cm3.h 下

工程里面創(chuàng)建 qemu-mps2-arm/drivers/cmsis/core/include 目錄,把以下文件復(fù)制過來

ARMCMSIS5.8.0CMSISCoreIncludecmsis_compiler.h

ARMCMSIS5.8.0CMSISCoreIncludecmsis_gcc.h
ARMCMSIS5.8.0CMSISCoreIncludecmsis_version.h
ARMCMSIS5.8.0CMSISCoreIncludecore_cm3.h
ARMCMSIS5.8.0CMSISCoreIncludempu_armv7.h

1.jpg

待進(jìn)一步完善驅(qū)動、配置、修改并啟動 RT-Thread

小結(jié)

本篇主要是 RT-Thread qemu mps2-an385 bsp 相關(guān)文件的準(zhǔn)備工作,了解構(gòu)建過程,并為進(jìn)一步 適配啟動 RT-Thread 做準(zhǔn)備

本篇的 qemu board mps2-an385 資料比較少,主要是通過 ARM 官方 Keil.V2M-MPS2_CMx_BSP.1.8.0.pack 獲取到,并且文檔也比較少,
不過 RT-Thread 移植主要是 定時器與 串口的移植, CPU 架構(gòu)部分,RT-Thread libcpu 已經(jīng)支持 ARM Cortex-M3,所以移植起來主要是 BSP 相關(guān)的適配與修改

接下來開始 適配與修改BSP,讓 mps2-an385 RT-Thread 跑起來.

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

    關(guān)注

    6

    文章

    361

    瀏覽量

    42406
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3284

    瀏覽量

    117076
  • Cortex-M3
    +關(guān)注

    關(guān)注

    9

    文章

    276

    瀏覽量

    60091
  • STM32F103
    +關(guān)注

    關(guān)注

    33

    文章

    481

    瀏覽量

    65005
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1364

    瀏覽量

    41480
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

    開發(fā)板的情況下體驗RT-ThreadRT-Thread使用QEMU模擬了ARM vexpress A9開發(fā)板,并提供了相關(guān)的板級支持包(BSP)。本文主要介紹在windows平臺和l
    的頭像 發(fā)表于 02-08 08:50 ?1.4w次閱讀
    如何在windows和linux平臺使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>QEMU</b> <b class='flag-5'>BSP</b>,并運行<b class='flag-5'>RT</b>-ThreadGUI示例

    GD32 RISC-V系列 BSP框架制作移植

    ? 手把手教你使用RT-Thread制作GD32 RISC-V系列BSP 熟悉RT-Thread的朋友都知道,RT-Thread提供了許多
    的頭像 發(fā)表于 06-22 19:44 ?6521次閱讀
    GD32 RISC-V系列 <b class='flag-5'>BSP</b>框架<b class='flag-5'>制作</b>與<b class='flag-5'>移植</b>

    RT-Thread qemu mps2-an385 bsp移植制作 :系統(tǒng)運行

    前面已經(jīng)讓 RT-Thread 進(jìn)入了 entry 入口函數(shù),并且 調(diào)整 鏈接腳本,自動初始化與 MSH shell 的符號已經(jīng)預(yù)留, 進(jìn)入了 RT-Thread 的初始化流
    的頭像 發(fā)表于 11-14 12:27 ?1043次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>qemu</b> <b class='flag-5'>mps2-an385</b> <b class='flag-5'>bsp</b><b class='flag-5'>移植</b><b class='flag-5'>制作</b> :系統(tǒng)運行<b class='flag-5'>篇</b>

    RT-Thread的STM32BSP制作教程

    一、概念BSP是板級支持包(Board Support Package)的意思,概念詳見BSP百科。二、參考資料1、官方版本文字制作教程:RT-Thread的STM32
    發(fā)表于 08-03 08:04

    STM32系列BSP制作教程簡介

    STM32 系列 BSP 制作教程簡介為了讓廣大開發(fā)者更好、更方便地使用 BSP 進(jìn)行開發(fā),RT-Thread 開發(fā)團(tuán)隊重新整理了現(xiàn)有的 STM32 系列的
    發(fā)表于 08-24 06:53

    Cortex-M內(nèi)核MCU的RT-Thread BSP框架和制作教程分享

    RT-Thread BSP 框架和制作教程發(fā)布,這意味著使用RAMCU(RA2系列、RA4系列、RA6系列)的開發(fā)者可以根據(jù)教程快速制作
    發(fā)表于 06-14 17:30

    【御芯微WIoTa?自組網(wǎng)協(xié)議開發(fā)套件試用體驗】rt-thread bsp軟件包制作

    rt-thread主線沒有ucchip的bsp基于以上痛點,決定將ucchip的三款模組制作成為rt-thread的標(biāo)準(zhǔn)bsp
    發(fā)表于 07-15 21:59

    如何在Window及Ubuntu平臺使用QEMU運行 RT-Thread qemu-vexpress-a9 BSP工程

    摘要本應(yīng)用筆記描述了如何在 Window 及 Ubuntu 平臺使用 QEMU 運行 RT-Thread qemu-vexpress-a9 BSP 工程。本文的目的和結(jié)構(gòu)本文的目的和背
    發(fā)表于 10-26 15:19

    RT-Thread BSP qemu-virt64-aarch64文件系統(tǒng)

    \\qemu-virt64-aarch64 -》 復(fù)制 qemu-virt64-aarch64   (2rt-thread 把 .git 目錄
    發(fā)表于 05-16 10:29

    STM32系列RT-Thread系統(tǒng)BSP制作教程免費下載

    為了讓廣大開發(fā)者更好、更方便地使用 BSP 進(jìn)行開發(fā),RT-Thread 開發(fā)團(tuán)隊重新整理了現(xiàn)有的 STM32 系列的 BSP,推出了新的 BSP 框架。新的
    發(fā)表于 02-25 08:00 ?47次下載
    STM32系列<b class='flag-5'>RT-Thread</b>系統(tǒng)<b class='flag-5'>BSP</b><b class='flag-5'>制作</b>教程免費下載

    如何進(jìn)行GD32F103系列的BSP制作

    熟悉RT-Thread的朋友都知道,RT-Thread提供了許多BSP,但不是所有的板子都能找到相應(yīng)的BSP,這時就需要移植新的
    的頭像 發(fā)表于 05-12 11:00 ?3451次閱讀

    RT-Thread文檔_Nordic BSP 上手指南

    RT-Thread文檔_Nordic BSP 上手指南
    發(fā)表于 02-22 18:26 ?7次下載
    <b class='flag-5'>RT-Thread</b>文檔_Nordic <b class='flag-5'>BSP</b> 上手指南

    RT-Thread qemu mps2-an385 bsp移植制作 :環(huán)境搭建

    最近打算系統(tǒng)地研究一下 RT-Thread,包括 RT-Thread BSP移植,由于一直在使用 QEMU 進(jìn)行一些軟件功能的驗證,
    的頭像 發(fā)表于 08-02 14:45 ?912次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>qemu</b> <b class='flag-5'>mps2-an385</b> <b class='flag-5'>bsp</b><b class='flag-5'>移植</b><b class='flag-5'>制作</b> :環(huán)境搭建<b class='flag-5'>篇</b>

    瑞薩Cortex-M內(nèi)核RA MCU的RT-Thread BSP制作教程發(fā)布

    瑞薩Cortex-M內(nèi)核RA MCU的RT-Thread BSP制作教程發(fā)布
    的頭像 發(fā)表于 09-18 10:58 ?931次閱讀
    瑞薩Cortex-M內(nèi)核RA MCU的<b class='flag-5'>RT-Thread</b> <b class='flag-5'>BSP</b><b class='flag-5'>制作</b>教程發(fā)布

    RT-Thread BSP qemu-virt64-aarch64文件系統(tǒng)

    前面大體上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環(huán)境,運行后發(fā)現(xiàn),文件系統(tǒng)沒有掛載上,感覺是沒有 mkfs。
    的頭像 發(fā)表于 10-08 16:34 ?1250次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>BSP</b> <b class='flag-5'>qemu</b>-virt64-aarch64文件系統(tǒng)
    主站蜘蛛池模板: 亚洲精品123区在线观看 | 伊人久久免费 | 嫩草影院在线观看网站成人 | 啦啦啦WWW在线观看免费高清版 | 神马影院午夜理论二 | 午夜男人免费福利视频 | 原神美女被超污app 御姐被吸奶 | 在线看片韩国免费人成视频 | 一本道亚洲区免费观看 | 亞洲人妻AV無碼在線視頻 | 国产51麻豆二区精品AV视频 | 被黑人群jian又粗又大H | 芒果视频看片在线观看 | 精品无码国产AV一区二区三区 | 亚洲乱码爆乳精品成人毛片 | 日韩丰满少妇无码内射 | free高跟丝袜秘书hd | 桃花免费高清在线观看 | 亚洲视频在线观看 | 一二三四在线观看韩国 | 亚洲 中文 自拍 无码 | 99在线免费观看 | 最近2018年手机中文字幕 | 俄罗斯女人与马Z00Z视频 | 嫩草伊人久久精品少妇AV网站 | 暖暖的高清视频在线观看免费中文 | 最近中文字幕MV免费看 | 护士喂我吃乳液我脱她内裤 | 久久高清免费视频 | 搡女人免费免费视频观看 | 榴莲黄版无限刷 | 青青草视频在线ac | 内射白嫩少妇超碰 | 黄色三级三级三级免费看 | 日本十八禁无遮拦啪啪漫画 | 蜜芽在线播放免费人成日韩视频 | 亚洲精品视频在线观看免费 | 亚洲AV午夜福利精品香蕉麻豆 | 国产最猛性XXXX69交 | 99久久久A片无码国产精 | 伊人久久大线蕉香港三级 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品