標(biāo)題:
MM32L系列M0/M3內(nèi)核產(chǎn)品移植HuaweiLite OS源碼
[打印本頁(yè)]
作者:
pxbzzz
時(shí)間:
2018-11-6 09:37
標(biāo)題:
MM32L系列M0/M3內(nèi)核產(chǎn)品移植HuaweiLite OS源碼
例程基于Huawei官方開發(fā)的樣例進(jìn)行修改,并保留華為官方的例程
上海靈動(dòng)是國(guó)內(nèi)專注于MCU產(chǎn)品與MCU應(yīng)用方案的領(lǐng)先供應(yīng)商,是中國(guó)工業(yè)及信息化部和上海市信息化辦公室認(rèn)定的集成電路設(shè)計(jì)企業(yè),同時(shí)也是上海市認(rèn)定的高新技術(shù)企業(yè)。自2011年3月成立至今,靈動(dòng)微電子已經(jīng)成功完成數(shù)百余MCU產(chǎn)品的設(shè)計(jì)及推廣,靈動(dòng)微電子目前已批量供貨的基于ARM Cortex-M0及Cortex-M3 內(nèi)核的MCU產(chǎn)品包括:針對(duì)通用高性能市場(chǎng)的MM32F系列,針對(duì)超低功耗及安全應(yīng)用的MM32L系列,具有多種無(wú)線連接功能的MM32W系列,電機(jī)驅(qū)動(dòng)及控制專用的MM32SPIN系列,以及OTP型的MM32P系列等,以滿足客戶及市場(chǎng)多領(lǐng)域、多層次的豐富應(yīng)用場(chǎng)景需求。
0.png
(5.98 KB, 下載次數(shù): 69)
下載附件
2018-11-6 16:15 上傳
實(shí)驗(yàn)器材:
Mini Board Rev D1
實(shí)驗(yàn)?zāi)康?
MM32L373PF搭載LiteOS運(yùn)行雙事務(wù)
硬件資源:
1、LED1(PB5),LED2(PB4),LED3(PB3),LED4(PA15)
2、WK_UP(PA0),KEY3(PB10),KEY4(PB11)
實(shí)驗(yàn)現(xiàn)象:
1、上電后,LED1、LED2以流水燈的方式運(yùn)行
2、按下KEY3,LED5亮滅
3、按下KEY4,LED6亮滅
注意事項(xiàng):
1,VBAT需要供電
單片機(jī)源程序如下:
/*
本程序適配MM32 MiniBoard /MCU-MM32L373PF
*/
#include "los_sys.h"
#include "los_tick.h"
#include "los_task.ph"
#include "los_config.h"
#include "los_bsp_led.h"
#include "los_bsp_key.h"
#include "los_bsp_uart.h"
#include "los_inspect_entry.h"
#include "los_demo_entry.h"
#include <string.h>
#include "delay.h"
extern void FunctionInit(void);
//----------------------- First event -------------------------------//
static UINT32 g_uwboadTaskID;
LITE_OS_SEC_TEXT VOID LOS_BoadExampleTskfunc(VOID)
{
while (1)
{
LOS_EvbLedControl(LOS_LED1, LED_ON);
LOS_EvbLedControl(LOS_LED2, LED_OFF);
LOS_EvbUartWriteStr("Board Test\n");
LOS_TaskDelay(500);
LOS_EvbLedControl(LOS_LED1, LED_OFF);
LOS_EvbLedControl(LOS_LED2, LED_ON);
LOS_TaskDelay(500);
}
}
void LOS_BoadExampleEntry(void)
{
UINT32 uwRet;
TSK_INIT_PARAM_S stTaskInitParam;
(VOID)memset((void *)(&stTaskInitParam), 0, sizeof(TSK_INIT_PARAM_S));
stTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)LOS_BoadExampleTskfunc;
stTaskInitParam.uwStackSize = LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE;
stTaskInitParam.pcName = "BoardDemo";
stTaskInitParam.usTaskPrio = 10;
uwRet = LOS_TaskCreate(&g_uwboadTaskID, &stTaskInitParam);
if (uwRet != LOS_OK)
{
return;
}
return;
}
//---------------------------Second event -------------------------//
static UINT32 g_uwboadTaskID2;
LITE_OS_SEC_TEXT VOID LOS_BoadKeyExampleTskfunc(VOID)
{
u8 t = 0;
while (1)
{
t = KEY_Scan(0);
switch(t)
{
case KEY3_PRES:
LED3=!LED3;
break;
case KEY4_PRES:
LED4=!LED4;
break;
default:
LOS_TaskDelay(100);
}
}
}
void LOS_BoadKeyExampleEntry(void)
{
UINT32 uwRet;
TSK_INIT_PARAM_S stTaskInitParam;
(VOID)memset((void *)(&stTaskInitParam), 0, sizeof(TSK_INIT_PARAM_S));
stTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)LOS_BoadKeyExampleTskfunc;
stTaskInitParam.uwStackSize = LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE;
stTaskInitParam.pcName = "BoardDemo";
stTaskInitParam.usTaskPrio = 10;
uwRet = LOS_TaskCreate(&g_uwboadTaskID2, &stTaskInitParam);
if (uwRet != LOS_OK)
{
return;
}
return;
}
/*****************************************************************************
Function : main
Description : Main function entry
Input : None
Output : None
Return : None
*****************************************************************************/
LITE_OS_SEC_TEXT_INIT
int main(void)
{
UINT32 uwRet;
//-------------------- Initialization function ------------------------//
delay_init();
FunctionInit(); // Init the device on the dev baord
uwRet = LOS_KernelInit(); // Init LiteOS kernel.(if OS loading finished return 0)
if (uwRet != LOS_OK) {
return LOS_NOK;
}
//---------------- Enable LiteOS system tick interrupt --------------//
LOS_EnableTick();
//------------------- Create Inspect task ---------------------------//
//LOS_Inspect_Entry(); // If use example cancel comment
LOS_BoadExampleEntry(); // First event
LOS_BoadKeyExampleEntry(); // Second event
//------------------------ Running Kernel --------------------------//
LOS_Start();
//-------------------- Your own function code ---------------------//
//for (;;);
}
復(fù)制代碼
所有資料51hei提供下載:
LiteOS_MM32Miniboard_L073_Lib_keil5.zip
(1.02 MB, 下載次數(shù): 18)
2018-11-6 09:37 上傳
點(diǎn)擊文件名下載附件
M0
下載積分: 黑幣 -5
LiteOS_MM32Miniboard_L073_Reg_keil5.zip
(597.44 KB, 下載次數(shù): 6)
2018-11-6 09:37 上傳
點(diǎn)擊文件名下載附件
M0
下載積分: 黑幣 -5
LiteOS_MM32MiniBoard_L373_Lib_Keil5.zip
(1.17 MB, 下載次數(shù): 14)
2018-11-6 09:37 上傳
點(diǎn)擊文件名下載附件
M3
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1