那曲檬骨新材料有限公司

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

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

3天內不再提示

以autosar為基礎完成n32g45x的驅動,并適配內核為autosar的操作系統

海闊天空的專欄 ? 來源:RTThread物聯網操作系統 ? 作者:RTThread物聯網操作 ? 2022-05-26 19:27 ? 次閱讀

一、項目介紹

隨著小米宣布造車,當下“軟件定義汽車”的趨勢如火如荼,autosar的全稱Automotive Open System Architecture,即汽車開放軟件架構,這正如TCP/IP對網絡進行統一,autosar是對汽車軟件技術的統一,TCP/IP制定的初衷是為統一網絡標準從而誕生了今天的互聯網,而AUTOSAR的制定是為實現汽車電子軟件的統一從而實現汽車電子軟件的復用。本項目是基于autosar3.1的開源代碼arctic core,在此基礎上,完成在n32g45x上的mcal驅動,適配RT-Thread內核為autosar的操作系統


目前已完成mcal的mcu驅動,autosar的osek操作系統已經能在n32g45x上正常調度,移植rtthread到arctic core,但是在適配OSEK/VDX的接口過程中,發現這個適配工作不是一兩個月所能完成,因為osek/vdx的標準非常嚴格,如果對OSEK/VDX感興趣的小伙伴可以一起加入rtthread對osek/vdx的適配。

二、簡述AUTOSAR及OSEK/VDX

2.1 AUTOSAR的分層模型及各層簡述

pYYBAGKPYqGAUa2kAAIl1Nb9WzQ491.png


AUTOSAR從上往下分為應用層、RTE層和基礎軟件層(BSW)。

應用層由多個軟件組件SWC組成,每個SWC是具有一定功能的模塊,如汽車發動機控制邏輯,這些模塊可以由matlab的autosar軟件包依據模型進行設計;RTE全稱Runtime Environment,即運行時環境,它的內部是一條autosar框架定義的虛擬功能總線(VFB),SWC、BSW通過這條虛擬功能總線進行通信

BSW從上到下分為服務層、ECU抽象層、MCU抽象層,分層的目的是為了實現各層的復用和對下一層的隔離,這正如RT-Thread的分層思想那樣,RT-Thread可以適配不同的MCU就是因為采用了驅動和設備分離的策略,RT-Thread的同一個設備因為注冊了不同的驅動就可以驅動不同的MCU。在AUTOSAR中,和MCU有關的一層是MCU抽象層,及MCAL,用RTT的驅動和設備分離的思想來理解autosar的mcal就是同一個ECU抽象層因為注冊了不同的MCU驅動就可以驅動不同的MCU。在autosar的成員中就有nxp這樣的芯片原廠提供autosar的mcal。


2.2 簡述OSEK/VDX接口api

在autosar的服務層中有一個符合OSEK/VDX標準的操作系統,負責內存管理、對各個功能的調度,api分為任務管理、中斷處理、事件機制、資源管理、報警器。

2.2.1 任務管理api

1 StatusTypeActivateTask(TaskType)
2 將任務號為TaskID的任務由掛起態變為就緒態。
3 StatusTypeTerminateTask(void)
4 將任務由就緒態轉為掛起態。
5 StatusTypeChainTask(TaskType)
6 將當前任務由就緒轉為掛起,并將TaskID的任務由掛起轉為就緒,相當于TerminateTask和ActivateTask的連用。
7 StatusTypeSchedule(void)
8 執行一次調度。
9

2.2.2 事件api

1 StatusTypeSetEvent(TaskTypeEventMaskType)
2 設置一個事件位,當執行SetEvent后等待該事件位的任務可以由等待態變為就緒態。
3 StatusTypeClearEvent(EventMaskType)
4 清楚事件位
5 StatusTypeGetEvent(TaskTypeEventMaskRefType)
6 返回TaskID任務的所有事件位
7 StatusTypeWaitEvent(EventMaskType)
8 等待事件位,等待事件位的任務由就緒態轉為等待態。
9

2.2.3 報警器(鬧鐘)api

1 StatusTypeGetAlarmBase(AlarmType,AlarmBaseRefType)
2 獲取報警器的時基
3 StatusTypeGetAlarm(AlarmTypeTickRefType)
4 獲取鬧鐘當前的tick
5 StatusTypeSetRelAlarm(AlarmType,TickType,TickType)
6 設置相對鬧鐘
7 StatusTypeSetAbsAlarm(AlarmType,TickType,
8 TickType)
9 設置絕對鬧鐘
10 StatusTypeCancelAlarm(AlarmType)
11 取消鬧鐘
12

三、AUTOSAR開源代碼arctic core軟件框架和分析

3.1 相關資源鏈接

arctic core官網:


http://dev.arccore.com/public/user-doc/UD441x/Arctic-Core-4.0_9503291.html

arctic core源碼獲取 :


http://my.arccore.com/hg

源碼構建說明:


http://dev.arccore.com/public/userdoc/UD441x/Makesystem_23789620.html

3.2 軟件框架說明

pYYBAGKPYyWAAwU9AABrhQXpDRw558.png


在arch文件夾中的文件為MCU內核架構相關的文件,如cortex-m3,主要內容為M3的啟動文件(見M3編程指南),MCU的固件庫。


在boards文件夾中的文件為各個MCU的實現,包括對板子的配置。


system文件夾中包含了一個OSEK/VDX標準的操作系統。

四、在N32G45X上完成AUTOSAR的MCAL

以MCU驅動的時鐘設置為例,static void SetClocks(Mcu_ClockSettingConfigType *clockSettingsPtr)是autosar的mcal定義的一個接口,用于設置MCU的時鐘,在n32g45x的實現如下:


poYBAGKPY3uAacG7AAIghmZeWD0375.png

寫好mcal的mcu后編譯成可執行文件下載到板子上,AUTOSAR能夠在n32g45x上正常運行,可以看到三個任務塊在調度。下載工具用的是pyocd。

pYYBAGKPY4iAegTdAAB5EUamSiM932.png

五、RT-THREAD的移植

由于源碼采用的構建工具是makefile,所以需要將rtthread的源碼和頭文件路徑添加到makefile文件。編譯下載到板子上可以看到rtthread正常運行。

圖片

六、倉庫地址

由于arctic core沒有github,不能采用fork的方式協作開發,我的代碼上傳到gitee提示版權風險無法轉為公開的倉庫,對源碼感興趣的小伙伴可以在下方留下gitee賬號或發郵件給我369247354@qq.com,我拉你到項目組。源碼從附件下載:

n32g45x_arctic_core.zip

七、項目視頻

https://www.bilibili.com/video/BV1Ma411b7kD/

八、總結和展望

本次移植過程中,mcal的移植較為輕松,適配n32g45x的寄存器花了不少時間,需要查看n32g45x的參考手冊的寄存器定義一個一個的去改。移植rtthread到arctic core的源碼比較簡單,只是添加rtt的源碼到arctic core的makefile。遺憾的是還沒完成rtt適配OSEK/VDX的接口,希望對OSEK/VDX感興趣的小伙伴加入進來,一起完成rtt對OESK/VDX的適配。

來源:RTThread物聯網操作系統

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

    關注

    10

    文章

    363

    瀏覽量

    21778
收藏 人收藏

    評論

    相關推薦

    【設計技巧】基于AUTOSAR的電機驅動系統報告

    有重要意義。本報告電動汽車用驅動電機作為研究對象, AUTOSAR 開發架構基礎,對電機驅動
    發表于 07-27 08:00

    介紹一種適配RT-Thread內核autosar操作系統

    目是基于autosar3.1的開源代碼arctic core,在此基礎上,完成n32g45x上的mcal驅動適配RT-Thread
    發表于 05-19 15:40

    國民技術MCU應用筆記連載(4)——N32G45x系列USB自定義HID設備的實現

    了HID設備的驅動程序,因而無需用戶自己開發驅動程序,對于一些數據量較少的場合(例如按鍵輸入、LED顯示或一些小容量的芯片燒錄器等),使用用戶自定義HID設備是很合適的。本文主要介紹N32G45x USB自定義HID設備的實現。
    發表于 07-05 11:58

    基于RT-Thread內核AUTOSARn32g上的實現方案

    操作系統。目前已完成mcal的mcu驅動autosar的osek操作系統已經能在n32g45x
    發表于 07-27 14:30

    N32G45x/G4FRx/N32WBx系列觸控設計指南

    本應用筆記主要針對 N32G45x/G4FRx/N32WBx 系列 MCU 在智能門鎖、智能家居等觸控產品上提供完整的觸控解決方案及典型觸控應用的詳細說明,開發者提供技術支持。
    發表于 11-02 06:12

    面向汽車應用的AUTOSAR設計技巧

    面向汽車應用的AUTOSAR設計技巧 汽車OEM正在開發基于AUTOSAR的電子系統應對當代汽車中日益復雜的軟件。AUTOSAR簡化了
    發表于 01-15 10:46 ?1164次閱讀

    N32G45x系列用戶手冊

    N32G45x系列用戶手冊
    發表于 11-10 19:50 ?2次下載
    <b class='flag-5'>N32G45x</b>系列用戶手冊

    N32G45x系列用戶手冊

    N32G45x系列用戶手冊
    發表于 11-10 19:50 ?0次下載
    <b class='flag-5'>N32G45x</b>系列用戶手冊

    N32G45x系列用戶手冊

    N32G45x系列用戶手冊
    發表于 11-10 19:50 ?0次下載
    <b class='flag-5'>N32G45x</b>系列用戶手冊

    基于AUTOSAR規范的操作系統知識

    汽車電子控制器中目前基本遵循AUTOSAR規范,而其中操作系統作為BSW的重頭戲,始終讓學習AUTOSAR的同學望而生畏,進而望而卻步。所以,今天整理下基于AUTOSAR規范的
    的頭像 發表于 02-13 14:03 ?1724次閱讀
    基于<b class='flag-5'>AUTOSAR</b>規范的<b class='flag-5'>操作系統</b>知識

    經緯恒潤AUTOSAR成功適配智芯科技國產車規級芯片

    近日,經緯恒潤AUTOSAR基礎軟件產品INTEWORK-EAS-CP成功適配智芯半導體的Z20K14x產品家族。同時,經緯恒潤完成了對智芯半導體Z20K14
    的頭像 發表于 05-30 09:31 ?984次閱讀
    經緯恒潤<b class='flag-5'>AUTOSAR</b>成功<b class='flag-5'>適配</b>智芯科技國產車規級芯片

    AUTOSAR OS操作系統功能特性

    按照預定的時間要求執行。 2. 時鐘和定時器管理:AUTOSAR OS可以管理系統時鐘和定時器,提供精確的時間基準和定時功能,支持任務和中斷的時
    的頭像 發表于 10-27 16:55 ?2223次閱讀

    經緯恒潤AUTOSAR成功適配曦華科技國產車規級芯片

    近日,經緯恒潤AUTOSAR基礎軟件產品INTEWORK-EAS-CP成功適配曦華科技的藍鯨CVM014x系列車規級MCU芯片。同時,經緯恒潤完成了對曦華科技開發板的MCAL軟件
    的頭像 發表于 12-19 08:00 ?595次閱讀
    經緯恒潤<b class='flag-5'>AUTOSAR</b>成功<b class='flag-5'>適配</b>曦華科技國產車規級芯片

    經緯恒潤AUTOSAR產品成功適配芯來RISC-V車規內核

    近日,經緯恒潤AUTOSAR基礎軟件產品INTEWORK-EAS(ECUAUTOSARSoftware,以下簡稱EAS)在芯來提供的HP060開發板上成功適配芯來科技的RISC-V處理器NA內核
    的頭像 發表于 03-29 08:00 ?509次閱讀
    經緯恒潤<b class='flag-5'>AUTOSAR</b>產品成功<b class='flag-5'>適配</b>芯來RISC-V車規<b class='flag-5'>內核</b>

    普華車用操作系統與黑芝麻智能武當C1200家族芯片完成適配

    普華靈智安全車控操作系統AUTOSAR CP)和普華靈思智能駕駛操作系統AUTOSAR AP)已與黑芝麻智能武當C1200家族芯片完成
    的頭像 發表于 01-06 14:16 ?183次閱讀
    普華車用<b class='flag-5'>操作系統</b>與黑芝麻智能武當C1200家族芯片<b class='flag-5'>完成</b><b class='flag-5'>適配</b>
    娱乐城百家乐送白菜| 百家乐官网免费赌博软件| 百家乐赌场大全| 百家乐官网游戏开发技术| 百家乐游戏作弊| 金冠娱乐城官网| 现场百家乐平台源码| 百家乐官网信誉平台现金投注| 赌球网站排名| 现场百家乐官网机| 太阳城联盟| 筹码百家乐的玩法技巧和规则| 现场百家乐官网能赢吗| 云博投注| 百家乐搏牌| 皇冠足球投注平台| 百家乐路子分| 在线百家乐官网电脑| 华球网| 什么叫百家乐的玩法技巧和规则| 最新百家乐官网的玩法技巧和规则 | 百家乐官网投住系统| 优博注册| 战神百家乐的玩法技巧和规则| 顶尖百家乐官网的玩法技巧和规则| 望城县| 威尼斯人娱乐场官网h00| 百家乐另类投注法| 百家乐官网书籍| 皇冠网上开户| 百家乐免费送现金| CEO百家乐官网娱乐城| 百家乐官网有免费玩| 全讯网信息| 百家乐的注码技巧| 百家乐官网赌博筹码大不大| 铜梁县| 大发888免费送奖金| 百家乐正品地址| 同乐城备用| 威尼斯人娱乐城线路|