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

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

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

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

關(guān)于GD32開發(fā)平臺(tái)現(xiàn)已支持Huawei LiteOS操作系統(tǒng)的介紹和分享

GD32MCU ? 來源:djl ? 2019-10-22 10:56 ? 次閱讀

Huawei LiteOS 是華為面向IoT領(lǐng)域,構(gòu)建的"統(tǒng)一物聯(lián)網(wǎng)操作系統(tǒng)和中間件軟件平臺(tái)",以輕量級(內(nèi)核小于10k)、低功耗(1節(jié)5號電池最多可以工作5年),快速啟動(dòng),互聯(lián)互通,安全等關(guān)鍵能力,為開發(fā)者提供 "一站式" 完整軟件平臺(tái),有效降低開發(fā)門檻、縮短開發(fā)周期。

Huawei LiteOS 目前主要應(yīng)用于智能家居、穿戴式、車聯(lián)網(wǎng)、智能抄表、工業(yè)互聯(lián)網(wǎng)等 IoT 領(lǐng)域的智能硬件上。,還可以和LiteOS生態(tài)圈內(nèi)的硬件互聯(lián)互通,提高用戶體驗(yàn)。

目前已開源的Huawei LiteOS內(nèi)核源碼已適配好GD32F450、GD32F190芯片,本文將以GD32F450IKH6芯片為例,介紹基于Cortex-M4核芯片的移植過程。

環(huán)境準(zhǔn)備

基于Huawei LiteOS Kernel開發(fā)前,我們首先需要準(zhǔn)備好單板運(yùn)行的環(huán)境,包括軟件環(huán)境和硬件環(huán)境。

硬件環(huán)境:

所需硬件 描述
GD32F450i-EVAL V1.1單板 GD32F450開發(fā)板(芯片型號GD32F450IKH6)
PC機(jī) 用于編譯、加載并調(diào)試鏡像
電源(5v) 開發(fā)板供電(使用Mini USB連接線)

軟件環(huán)境:

軟件 描述
Window 7 操作系統(tǒng) 安裝Keil
Keil(5.18以上版本) 用于編譯、鏈接、調(diào)試程序代碼 uVision V5.18.0.0 MDK-Lite
DNW串口調(diào)試工具 串口調(diào)試工具,根據(jù)個(gè)人喜好可使用其他的串口工具

說明

Keil工具需要開發(fā)者自行購買,GD32F190R-EVAL開發(fā)板的調(diào)試器是GD-Link,GD-Link免驅(qū)動(dòng)安裝。

獲取Huawei LiteOS 源碼

首先我們從github上下載Huawei LiteOS內(nèi)核源代碼,步驟如下:

倉庫地址是https://github.com/LITEOS/LiteOS_Kernel.git

關(guān)于GD32開發(fā)平臺(tái)現(xiàn)已支持Huawei LiteOS操作系統(tǒng)的介紹和分享

點(diǎn)擊”clone or download”按鈕,下載源代碼

Huawei LiteOS的源代碼目錄的各子目錄包含的內(nèi)容如下:

關(guān)于GD32開發(fā)平臺(tái)現(xiàn)已支持Huawei LiteOS操作系統(tǒng)的介紹和分享

關(guān)于代碼樹中各個(gè)目錄存放的源代碼的相關(guān)內(nèi)容簡介如下:

一級目錄 二級目錄 說明
doc 此目錄存放的是LiteOS的使用文檔和API說明文檔
example api 此目錄存放的是內(nèi)核功能測試用的相關(guān)用例的代碼
include aip功能頭文件存放目錄
kernel base 此目錄存放的是與平臺(tái)無關(guān)的內(nèi)核代碼,包含核心提供給外部調(diào)用的接口的頭文件以及內(nèi)核中進(jìn)程調(diào)度、進(jìn)程通信、內(nèi)存管理等等功能的核心代碼。用戶一般不需要修改此目錄下的相關(guān)內(nèi)容。
cmsis LiteOS提供的cmsis接口
config 此目錄下是內(nèi)核資源配置相關(guān)的代碼,在頭文件中配置了LiteOS所提供的各種資源所占用的內(nèi)存池的總大小以及各種資源的數(shù)量,例如task的最大個(gè)數(shù)、信號量的最大個(gè)數(shù)等等
cpu 此目錄以及以下目錄存放的是與體系架構(gòu)緊密相關(guān)的適配LiteOS的代碼。比如目前我們適配了arm/cortex-m4及arm/cortex-m3系列對應(yīng)的初始化內(nèi)容。
include 內(nèi)核的相關(guān)頭文件存放目錄
link IDE相關(guān)宏定義
platform GD32F190R-EVAL GD190開發(fā)板systick及驅(qū)動(dòng)相關(guān)代碼
GD32F450i-EVAL GD450開發(fā)板systick及驅(qū)動(dòng)相關(guān)代碼
projects GD32F190R-EVAL-KEIL gd32f190開發(fā)板的keil工程目錄
GD32F450i-EVAL-KEIL gd32f450開發(fā)板的keil工程目錄
user 此目錄存放用戶代碼,LiteOS啟動(dòng)代碼在mian()函數(shù)中

獲取Huawei LiteOS源代碼之后,我們可以將自己本地已有工程的代碼適配到LiteOS內(nèi)核工程中進(jìn)行應(yīng)用開發(fā)。

如何適配LiteOS內(nèi)核工程開發(fā)

本章節(jié)描述的內(nèi)容以GD32F450i-EVAL開發(fā)板的04_USART_Printf示例工程為基礎(chǔ),適配到LiteOS的GD32F450i-EVAL-KEIL工程中,演示串口輸出、按鍵中斷及LED點(diǎn)亮功能。

GD32的開發(fā)資料獲取

從http://www.GD32MCU.com 下載相關(guān)的開發(fā)包

從購買的開發(fā)板的光盤中獲取相關(guān)資料。

注意:光盤上的內(nèi)容可能比網(wǎng)絡(luò)上的更全面一些,建議使用光盤上面的內(nèi)容。

GD32的開發(fā)包安裝

安裝GigaDevice.GD32F4xx_DFP.1.0.1.pack或者更高版本的pack文件到keil安裝目錄

安裝GD32F4xx_Addon.1.0.1.exe到keil安裝目錄

添加代碼到LiteOS工程

在LiteOS內(nèi)核代碼目錄中新建GD32f450i_Library文件夾,將GD示例工程中使用到的代碼拷貝到其中。

關(guān)于GD32開發(fā)平臺(tái)現(xiàn)已支持Huawei LiteOS操作系統(tǒng)的介紹和分享

拷貝GD示例工程Library文件夾下的子文件夾到GD32f450i_Library文件夾中。

拷貝GD示例工程04_USART_Printf文件夾下列文件到GD32f450i_Library文件夾中。

GD示例工程代碼目錄結(jié)構(gòu)

關(guān)于GD32開發(fā)平臺(tái)現(xiàn)已支持Huawei LiteOS操作系統(tǒng)的介紹和分享

在LiteOS工程添加library目錄,將GD示例工程中的源代碼文件(main.c、startup_gd32f4xx.s文件除外)添加到library文件夾下。

GD示例工程啟動(dòng)文件startup_gd32f4xx.s

添加GD示例工程中startup_gd32f4xx.s文件到LiteOS工程startup文件夾下。

關(guān)于GD32開發(fā)平臺(tái)現(xiàn)已支持Huawei LiteOS操作系統(tǒng)的介紹和分享

添加頭文件搜索路徑及編譯宏選項(xiàng)

LiteOS可直接使用GD示例工程中的啟動(dòng)文件,這樣工程中要使用的中斷及中斷服務(wù)函數(shù)就注冊好了,不需再使用LiteOS接口進(jìn)行動(dòng)態(tài)注冊。在完成了代碼添加及工程配置后,開始修改代碼,步驟如下:

注釋gd32f4xx_it.c中的PendSV_Handler()及SysTick_Handler()函數(shù),以免重復(fù)定義。

GD工程中SYStemSystemInit函數(shù)會(huì)調(diào)用system_clock_config()函數(shù)配置系統(tǒng)時(shí)鐘,我們需要修改los_bsp_adapter.c文件中的sys_clk_freq變量值與實(shí)際配置的系統(tǒng)時(shí)鐘一致。const unsigned int sys_clk_freq = 200000000;

經(jīng)過以上步驟的修改,完成了代碼的初步移植,然后可以編譯代碼,連接串口線(事先安裝相關(guān)驅(qū)動(dòng))并在串口調(diào)試工具中打開相應(yīng)串口,調(diào)試運(yùn)行時(shí)可看到串口打印輸出,按demo板上的Tamper鍵,可以調(diào)試按鍵中斷及LED。

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

    關(guān)注

    1928

    文章

    9578

    瀏覽量

    185523
  • 車聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    76

    文章

    2587

    瀏覽量

    91639
收藏 人收藏

    評論

    相關(guān)推薦

    GD32 MCU入門教程】GD32 MCU GPIO 結(jié)構(gòu)與使用注意事項(xiàng)

    本文是專門為基于GD32 MCU開發(fā)的工程設(shè)計(jì)人員提供,主要介紹了GPIO的功能配置、內(nèi)部結(jié)構(gòu)以及在不同場景使用時(shí)的注意事項(xiàng),旨在幫助GD32 MCU
    的頭像 發(fā)表于 09-07 10:34 ?792次閱讀
    【<b class='flag-5'>GD32</b> MCU入門教程】<b class='flag-5'>GD32</b> MCU GPIO 結(jié)構(gòu)與使用注意事項(xiàng)

    GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發(fā)表于 08-25 09:24 ?649次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU FPU 使用方法

    GD32如何替換STM32

    GD32替換Stm32注意事項(xiàng)
    發(fā)表于 08-23 11:31 ?4次下載

    GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(14)RTC 模塊介紹

    GD32 MCU內(nèi)部提供了一個(gè)RTC(實(shí)時(shí)時(shí)鐘)模塊,通過RTC可以實(shí)現(xiàn)日歷時(shí)鐘、鬧鐘等功能。RTC也可以用于深度睡眠或待機(jī)模式的低功耗喚醒。不同系列的GD32 MCU在RTC設(shè)計(jì)和功能上有所區(qū)別,總體可以分為三大系列:
    的頭像 發(fā)表于 08-23 09:18 ?508次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU 常見外設(shè)<b class='flag-5'>介紹</b>(14)RTC 模塊<b class='flag-5'>介紹</b>

    GD32 MCU 入門教程】GD32 MCU 常見外設(shè)介紹(12)FMC 模塊介紹

    閃存控制器(FMC),提供了片上閃存需要的所有功能。FMC 也提供了頁擦除,整片擦除,以及32 位整字或 16 位半字編程閃存等操作。 GD32 MCU 支持不同類型編程的具體說明如下表 GD
    的頭像 發(fā)表于 08-21 09:56 ?1205次閱讀
    <b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU 常見外設(shè)<b class='flag-5'>介紹</b>(12)FMC 模塊<b class='flag-5'>介紹</b>

    GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(3)使用 Embedded Builder 開發(fā) GD32

    GD32系列為通用型MCU,所以開發(fā)環(huán)境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據(jù)個(gè)人喜好來選擇相應(yīng)的開發(fā)環(huán)境。
    的頭像 發(fā)表于 08-08 16:03 ?1037次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】一、<b class='flag-5'>GD32</b> MCU <b class='flag-5'>開發(fā)</b>環(huán)境搭建(3)使用 Embedded Builder <b class='flag-5'>開發(fā)</b> <b class='flag-5'>GD32</b>

    GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(2)使用 IAR 開發(fā) GD32

    GD32系列為通用型MCU,所以開發(fā)環(huán)境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據(jù)個(gè)人喜好來選擇相應(yīng)的開發(fā)環(huán)境。
    的頭像 發(fā)表于 08-08 15:40 ?746次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】一、<b class='flag-5'>GD32</b> MCU <b class='flag-5'>開發(fā)</b>環(huán)境搭建(2)使用 IAR <b class='flag-5'>開發(fā)</b> <b class='flag-5'>GD32</b>

    GD32 MCU 入門教程】一、GD32 MCU 開發(fā)環(huán)境搭建(1)使用Keil開發(fā)GD32

    GD32系列為通用型MCU,所以開發(fā)環(huán)境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據(jù)個(gè)人喜好來選擇相應(yīng)的開發(fā)環(huán)境。
    的頭像 發(fā)表于 08-08 15:01 ?1288次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】一、<b class='flag-5'>GD32</b> MCU <b class='flag-5'>開發(fā)</b>環(huán)境搭建(1)使用Keil<b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32</b>

    GD32 MCU ISP失敗的原因

    玩過GD32的小伙伴們都知道,GD32 MCU支持ISP,即在系統(tǒng)編程,前面的常見問題也給大家講過什么是ISP,什么是IAP?那有沒有小伙伴遇到過ISP失敗的情況,失敗的原因是什么呢?
    的頭像 發(fā)表于 02-28 09:23 ?1519次閱讀
    <b class='flag-5'>GD32</b> MCU ISP失敗的原因

    GD32 MCU電源復(fù)位和系統(tǒng)復(fù)位有什么區(qū)別

    GD32 MCU的復(fù)位分為電源復(fù)位和系統(tǒng)復(fù)位,電源復(fù)位又稱為冷復(fù)位,相較于系統(tǒng)復(fù)位,上電復(fù)位更徹底,下面為大家詳細(xì)介紹上電復(fù)位和系統(tǒng)復(fù)位的實(shí)
    的頭像 發(fā)表于 02-02 09:37 ?1530次閱讀
    <b class='flag-5'>GD32</b> MCU電源復(fù)位和<b class='flag-5'>系統(tǒng)</b>復(fù)位有什么區(qū)別

    不同型號的GD32 MCU如何區(qū)分?

    大家是否碰到過以下應(yīng)用場景:同一套軟件代碼希望跑在不同型號的GD32 MCU中,但有些地方需要根據(jù)MCU型號進(jìn)行調(diào)整?或者上位機(jī)或其他MCU與GD32 MCU通信時(shí)需要知道對應(yīng)的MCU型號是哪個(gè)?
    的頭像 發(fā)表于 01-27 09:32 ?1020次閱讀
    不同型號的<b class='flag-5'>GD32</b> MCU如何區(qū)分?

    GD32 串口接受異常的幾個(gè)原因

    前面我們介紹GD32 485發(fā)送時(shí)出現(xiàn)異常的最常見原因,有小伙伴反饋想要知道GD32 串口接受異常的可能原因,今天我們就來安排。
    的頭像 發(fā)表于 01-18 09:57 ?4295次閱讀
    <b class='flag-5'>GD32</b> 串口接受異常的幾個(gè)原因

    GD32 MCU的選項(xiàng)字節(jié)是什么?

    GD32 MCU的選項(xiàng)字節(jié)是什么,有什么功能呢?選項(xiàng)字節(jié)被誤篡改如何回復(fù)?
    的頭像 發(fā)表于 01-17 09:42 ?1425次閱讀
    <b class='flag-5'>GD32</b> MCU的選項(xiàng)字節(jié)是什么?

    GD32如何設(shè)計(jì)晶振電路

    關(guān)于晶振電路真的簡單嗎?如何可靠的設(shè)計(jì)好GD32晶振電路,我們需要知道這些:
    的頭像 發(fā)表于 01-16 09:37 ?2010次閱讀
    <b class='flag-5'>GD32</b>如何設(shè)計(jì)晶振電路

    你了解GD32 MCU的命名規(guī)則嗎

    下面為大家介紹GD32 MCU的通用命名規(guī)則,以GD32F303ZGT6為例,其中,GD32代表GD32 MCU,F(xiàn)代表通用系列產(chǎn)品類型,3
    的頭像 發(fā)表于 01-13 09:38 ?3732次閱讀
    你了解<b class='flag-5'>GD32</b> MCU的命名規(guī)則嗎
    主站蜘蛛池模板: 极品少妇高潮啪啪AV无码吴梦梦| 野花日本免费完整版高清版动漫 | 擼擼擼麻豆密臀AV| 天天爽夜夜爽8888视频精品| 最近的2019中文字幕HD | VIDEOSGGRATIS欧美另类| 久久热这里面只有精品| 亚洲欧美日韩国产精品26u| 国产成人精品免费视频下载| 全球真实小U女视频合集| 99久久国产宗和精品1上映| 久久久青青| 永久免费看A片无码网站四虎| 国产在线精品亚洲观看不卡欧美| 手机看片一区二区| 国产99视频精品一区| 日日操夜夜摸| 国产精品免费大片一区二区| 手机在线免费看毛片| 国产爱豆果冻传媒在线观看| 日本久久精品毛片一区随边看| 爱人 qvod| 日韩精品无码免费专区| lesbabes性欧美| 奇米狠狠一区二区三区| 高清大胆欧美videossexo| 特级淫片大乳女子高清视频| 国产v综合v亚洲欧美大片| 亚洲高清视频网站| 久久精品国产欧美成人| 999精品在线| 日本艳妓BBW高潮一19| 国产99久久亚洲综合精品西瓜tv| 小莹的性荡生活| 久久精品国产亚洲AV影院| 4399亚洲AV无码V无码网站 | 亚洲a视频在线| 国产人妻人伦精品熟女麻豆| 好男人好资源在线观看| 伊人久久中文大香线蕉综合| 久久精品电影|