移植華為LiteOS

2021-09-11 22:05:03 字數 3746 閱讀 3756

1. 安裝stm32cubemx

構建裸機工程,生成mdk-arm v5 的工程

2.拷貝 liteos 核心原始碼及測試相關**

拷貝arch, demos, kernel目錄拷貝到middlewares/liteos中

在keil工程中新增.c 原始檔,以及設定標頭檔案路徑

3.拷貝os_config 目錄

新增標頭檔案路徑。

4. pendsv_handler 和 systick_handler 這兩個函式

遮蔽如果#define loscfg_platform_hwi yes

則不用遮蔽systick_handler

5.使用los_startup_keil.s代替startup_stm32l476xx.s

修改sct檔案配置記憶體

6.測試中斷

void hal_gpio_exti_callback(uint16_t gpio_pin)

static void user_irqhandler(void)

uint32 example_interrupt(void)

7.其他例子

los inspect start.

los_tasklock() success!

example_taskhi create success!

example_tasklo create success!

enter taskhi handler.

enter tasklo handler.

taskhi los_taskdelay done.

taskhi los_tasksuspend success.

taskhi los_taskresume success.

inspect task success

example_event wait event 0x1 .

example_taskentry_event write event .

example_event,read event :0x1 .

eventmask:1

eventmask:0

inspect event success

create the queue success!

recv message:test is message 0

recv message:test is message 1

recv message:test is message 2

recv message:test is message 3

recv message:test is message 4

recv message failure,error:200061d

delete the queue success!

inspect msg success

example_semtask2 try get sem g_ussemid wait forever.

example_semtask1 try get sem g_ussemid ,timeout 10 ticks.

example_semtask2 get sem g_ussemid and then delay 20ticks .

example_semtask1 timeout and try get sem g_ussemid wait forever.

example_semtask2 post sem g_ussemid .

example_semtask1 wait_forever and got sem g_ussemid success.

inspect sem success

task2 try to get mutex, wait forever.

task2 get mutex g_testmux01 and suspend 100 tick.

task1 try to get mutex, wait 10 tick.

task1 timeout and try to get mutex, wait forever.

task2 resumed and post the g_testmux01

task1 wait forever,got mutex g_testmux01 success.

inspect mutex success

los_cyclepertickget = 80000 .

los_tickcountget = 1108 .

los_tickcountget after delay = 1311 .

inspect systic success

create timer1 success .

create timer2 success .

start timer1 sucess .

stop timer1 sucess .

g_timercount1=1 .

tick_last1=2623 .

delete timer1 failed .

start timer2 success .

g_timercount2=1 .

tick_last2=2728 .

g_timercount2=2 .

tick_last2=2828 .

g_timercount2=3 .

tick_last2=2928 .

g_timercount2=4 .

tick_last2=3028 .

g_timercount2=5 .

tick_last2=3128 .

g_timercount2=6 .

tick_last2=3228 .

g_timercount2=7 .

tick_last2=3328 .

g_timercount2=8 .

tick_last2=3428 .

g_timercount2=9 .

tick_last2=3528 .

g_timercount2=10 .

tick_last2=3628 .

inspect timer success

initial......

node add and tail add......

add node success

add tail success

delete node......

delete node success

inspect list success

mem box init ok! .

mem box alloc ok .

*p_num = 828 .

clear data ok

*p_num = 0 .

mem box free ok! .

inspect s_mem success

mempool init ok!

mem alloc ok

*p_num = 828

mem free ok!

inspect d_mem success

華為LiteOS發布了

進入新年,華為嵌入式作業系統liteos 1.0版終於發布了 這個發布整整遲到了一年。本以為華為不準備開源了,但最終還是來了。之前一直在等華為的liteos,畢竟是國產作業系統,以當今如此強大的中國,華為又是中國最強大的 最有前途的公司 中國高科技的領羊,沒有理由這款作業系統不會成功。之前一直研究c...

華為物聯網作業系統 LiteOS

2015 年 5 月 20 日,在 2015 華為網路大會上,華為發布最輕量級的物聯網作業系統 liteos。huawei liteos 是華為面向 iot 領域,構建的輕量級物聯網作業系統,遵循 bsd 3 開源許可協議,可廣泛應用於智慧型家居 個人穿戴 車聯網 城市公共服務 製造業等領域,大幅降...

LiteOS 華為物聯網作業系統簡介

huawei liteos 是華為面向iot領域,構建的 統一物聯網作業系統和中介軟體軟體平台 以輕量級 核心小於10k 低功耗 1節5號電池最多可以工作5年 快速啟動,互聯互通,安全等關鍵能力,為開發者提供 一站式 完整軟體平台,有效降低開發門檻 縮短開發周期。huawei liteos 目前主要...