衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RT-Thread qemu mps2-an385 bsp移植制作 :環境搭建篇

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

前言

最近打算系統地研究一下 RT-Thread,包括 RT-Thread BSP 的移植,由于一直在使用 QEMU 進行一些軟件功能的驗證,qemu 支持很多的CPU 與 開發板,所以想移植一個新的 qemu board 到 RT-Thread,掌握BSP 移植的方法

當前主線 RT-Thread BSP Qemu 有三大系列:qemu-vexpress-a9 qemu-virt64-aarch64 qemu-virt64-riscv,所以打算搞個簡單的 ARM Cortex-M3 的 qemu board:mps2-an385,驗證下來類似于 STM32F103 系列的 MCU

開發環境暫時為 :Linux 環境, ubuntu 20.04,后面嘗試適配到 Windows 上

1.jpg

ubuntu 20.04 中 默認安裝的 qemu 版本 qemu-system-arm --version ,應該是 4.2.1,支持這個 ARM Cortex-M3 的 MCU :mps2-an385
$ qemu-system-arm --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.27)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

開發環境

win10 64位 + VS Code,ssh 遠程連接 ubuntu

VMware Workstation Pro 16 + Ubuntu 20.04

RT-Thread v5.0.1(備注:當前 RT-Thread BSP 占用較大的空間)

qemu qemu-system-arm mps2-an385 開發板,qemu 版本 QEMU emulator version 4.2.1 或更高

arm gcc 交叉編譯工具鏈:當前使用 gcc 編譯環境, gcc-arm-11.2-2022.02-x86_64-arm-none-eabi, gcc version 11.2.1 20220111

搭建工程

由于當前 RT-Thread 的代碼體積有點臃腫,RT-Thread v5.0.1 解壓后 整體接近 1.8GB, 而BSP 包占用 : 1.7GB 左右,所以打算建立獨立的工程,不包括其他的 BSP,降低工程管理的復雜度,也方便代碼閱讀

1.jpg

1.jpg

重新創建工程,然后移除 bsp,改為 rt-thread 目錄,新建 qemu-mps2-arm 目錄,作為 移植 qemu mps2 的 bsp

1.jpg

配置arm gcc 交叉編譯環境

下載 arm gcc 交叉編譯工具鏈

當前驗證 較新的版本,如 gcc-arm-11.2-2022.02-x86_64-arm-none-eabi,可以正常編譯并運行

設置 ubuntu 環境變量, qemu-mps2-arm 目錄下 新建 setup.sh,內容如下

#!/bin/bash
export RTT_CC=gcc
export RTT_EXEC_PATH=/home/zhangsz/linux/tools/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi/bin
export RTT_CC_PREFIX=arm-none-eabi-
export PATH=**PATH:**RTT_EXEC_PATH
echo "CC => ${RTT_CC}"
echo "PREFIX => ${RTT_CC_PREFIX}"
echo "EXEC_PATH => ${RTT_EXEC_PATH}"
增加執行 權限 chmod +x setup.sh

編譯前 運行: source setup.sh 即可

自此,初步的開發環境應經準備就緒,但是 bsp qemu-mps2-arm 目錄下,只有一個 setup.sh 設置交叉編譯工具鏈的腳本,bsp 還沒有正式開始移植

mps2-an385 介紹

此 qemu 開發板 mps2-an385,資料特別的少,之所以使用 mps2,可能源于之前 調試過 FreeRTOS 中的 qemu,用到就是這個 mps2-an385

當前能獲取的資料,基本上是 ARM 官方的 mps2 相關的 sdk,下載后,有 Keil 版本的,可以獲取一些啟動文件、部分寄存器的使用:如定時器、uart 串口

由于 mps2 基于 ARM Cortex-M3,所以打算連接腳本、啟動文件等,都基于 STM32F103系列 進行修改適配,

小結

本篇注意梳理 RT-Thread BSP 移植前的環境搭建,選擇 windows 開發還是 Linux 環境(如 ubuntu)中開發,這里使用 Linux 環境開發,使用 arm gcc 交叉編譯工具鏈,代碼閱讀、編輯、gdb 調試,使用 Win10 下 VS Code ssh 遠程連接 ubuntu

由于 RT-Thread 整體 BSP 代碼占用較大的體積,不利于功能的管理,所以新建最小 RT-Thread 工程,用于代碼的管理,當前使用 RT-Thread 發布版本: RT-Thread v5.0.1。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux系統
    +關注

    關注

    4

    文章

    595

    瀏覽量

    27510
  • ARM處理器
    +關注

    關注

    6

    文章

    361

    瀏覽量

    41934
  • STM32F103
    +關注

    關注

    33

    文章

    479

    瀏覽量

    63874
  • RT-Thread
    +關注

    關注

    31

    文章

    1305

    瀏覽量

    40383
  • MCU芯片
    +關注

    關注

    3

    文章

    253

    瀏覽量

    11627
收藏 人收藏

    評論

    相關推薦

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

    開發板的情況下體驗RT-Thread,RT-Thread使用QEMU模擬了ARM vexpress A9開發板,并提供了相關的板級支持包(BSP)。本文主要介紹在windows平臺和l
    的頭像 發表于 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示例

    RT-Thread qemu mps2-an385 bsp移植制作 :系統運行

    前面已經讓 RT-Thread 進入了 entry 入口函數,并且 調整 鏈接腳本,自動初始化與 MSH shell 的符號已經預留, 進入了 RT-Thread 的初始化流
    的頭像 發表于 11-14 12:27 ?889次閱讀
    <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> :系統運行<b class='flag-5'>篇</b>

    RT-Thread的STM32BSP制作教程

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

    在Ubuntu平臺開發RT-Thread文檔中步驟搭建QEMU環境

    NimBLE 可在 QEMU 環境下搭配藍牙 Control 芯片運行,目前在 Ubuntu 18.04 下運行成功。QEMU 環境搭建主要
    發表于 07-27 11:19

    基于RT-Thread操作系統的Env開發環境搭建

    圖測試開發環境進入到源碼目錄 rt-thread\\bsp\\qemu-vexpress-a9,鼠標右擊打開 env 工具。輸入指令 menuconfig,如果出現配置界面,說明開發
    發表于 09-30 10:38

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

    摘要本應用筆記描述了如何在 Window 及 Ubuntu 平臺使用 QEMU 運行 RT-Thread qemu-vexpress-a9 BSP 工程。本文的目的和結構本文的目的和背
    發表于 10-26 15:19

    在Windows平臺使用Eclipse調試RT-Thread qemu-vexpress-a9 BSP工程

    使用 Eclipse 調試 RT-Thread qemu-vexpress-a9 BSP 工程。本文的結構本文主要介紹了 Eclipse 調試選項的配置以及如何調試工程。準備工作下載 RT-T
    發表于 10-26 15:31

    RT-Thread BSP qemu-virt64-aarch64的編譯環境搭建步驟

      最近需要使用RT-Thread smart 開發調試一些軟件功能,由于軟件功能平臺無關,使用外部硬件操作,會耗費更多的時間在后臺?! 〈蛩闶褂?b class='flag-5'>BSP qemu-virt64-aarch64
    發表于 04-04 17:04

    RT-Thread BSP qemu-virt64-aarch64文件系統

      前言   前面大體上搭建RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環境,運行后發現,文件系統沒有
    發表于 05-16 10:29

    RT-Thread BSP qemu-virt64-riscv的編譯環境搭建

    qemu-virt64-aarch64 搭建一個 RT-Thread smart 的開發調試環境,可以開發驗證一些平臺無關的軟件功能,但是當前的
    發表于 05-16 10:37

    RT-Thread文檔_Nordic BSP 上手指南

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

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與<b class='flag-5'>移植</b>

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

    安裝 Keil.V2M-MPS2_CMx_BSP.1.8.0.pack 后, 在 V2M-MPS2_CMx_BSP\1.8.0\Device\CMSDK_CM3\Source\GCC 路徑下,有 mps2-an385 的啟動文件
    的頭像 發表于 08-02 14:49 ?1119次閱讀
    <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> :<b class='flag-5'>BSP</b><b class='flag-5'>制作</b><b class='flag-5'>篇</b>

    瑞薩Cortex-M內核RA MCU的RT-Thread BSP制作教程發布

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

    RT-Thread BSP qemu-virt64-aarch64文件系統

    前面大體上搭建RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環境,運行后發現,文件系統沒有掛載上,感覺是
    的頭像 發表于 10-08 16:34 ?1026次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>BSP</b> <b class='flag-5'>qemu</b>-virt64-aarch64文件系統
    威尼斯人娱乐棋牌下载| 24向山九宫格图| 明升百家乐官网娱乐城| 大佬百家乐官网现金网| 皮山县| 顶尖娱乐| 甘肃省| 时尚| 百家乐官网稳一点的押法| 百家乐官网游戏看路| 百家乐官网有方法赚反水| 百家乐官网币| 百家乐官网透视牌靴哪里有| 赌场风云| 五常市| 赌博娱乐城| 单机百家乐官网在线小游戏| 自贡百家乐官网赌场娱乐网规则| 网上百家乐官网游戏哪家信誉度最好 | 利来国际网址| 百家乐官网玩法的秘诀| 杨氏百家乐官网必胜公式| 克拉克百家乐官网的玩法技巧和规则 | 百家乐官网最佳投注法下载| 百家乐官网前四手下注之观点| 网上百家乐官网骗局| 百家乐官网网络赌博真假| 香港百家乐官网的玩法技巧和规则| 百家乐网上公式| 巴宝莉百家乐的玩法技巧和规则| 李雷雷百家乐的奥妙| bet365提款| 百家乐官网硬币打法| 百家乐官网公式论坛| 百家乐视频游戏帐号| 钱隆百家乐大师| 威尼斯人娱乐棋牌| 百家乐官网交流群号| 黄金会百家乐官网赌城| 百家乐赌博赌博网站| 德州扑克荷官|