-
大小: 0.67M文件類型: .zip金幣: 1下載: 0 次發(fā)布日期: 2021-02-22
- 標(biāo)簽: 網(wǎng)絡(luò)管理??汽車??管理??源碼??網(wǎng)絡(luò)??
資源簡(jiǎn)介
基于OsekNM 2.5.3協(xié)議實(shí)現(xiàn)的OsekNM,跨平臺(tái)的結(jié)構(gòu),目前只實(shí)現(xiàn)了STM32F407ZGT6平臺(tái)的驅(qū)動(dòng)。
1. 目錄結(jié)構(gòu)
1.1 App目錄是一個(gè)keil5工程,App/keil/Objects/OsekNM.hex是一個(gè)可以直接在STM32F407ZGT6平臺(tái)運(yùn) 行的hex文件。
1.2 Driver目錄包含了stm32f407子目錄和Win7子目錄,stm32f407目錄下就是實(shí)現(xiàn)的STM32F407ZGT6平臺(tái)的底層驅(qū)動(dòng),包括定時(shí)器和CAN模塊的驅(qū)動(dòng),以及Stm32標(biāo)準(zhǔn)庫(kù)的東西;Win7子目錄是在windows7平臺(tái)下執(zhí)行的一些文件;Driver_Common.c是一些公用的驅(qū)動(dòng),由OsekNM_core統(tǒng)一調(diào)用。
1.3 OsekNM_core實(shí)現(xiàn)了OsekNM 2.5.3協(xié)議的核心邏輯,OsekNM.c實(shí)現(xiàn)了對(duì)各個(gè)節(jié)點(diǎn)各狀態(tài)的處理,OsekNMServer.c實(shí)現(xiàn)了OsekNM 2.5.3協(xié)議提供給應(yīng)用程序的API。
2. 移植
2.1 在Driver目錄新建文件夾,保存新平臺(tái)的驅(qū)動(dòng)程序,新的平臺(tái)下需要實(shí)現(xiàn)CAN模塊和定時(shí)器及中斷的驅(qū)動(dòng)程序。
2.2 修改Driver_Common.c文件,修改TX_CAN_Transmit()函數(shù),調(diào)用新平臺(tái)發(fā)送CAN報(bào)文的CAN模塊驅(qū)動(dòng)程序,修改InitPlatform()函數(shù),調(diào)用新平臺(tái)初始化CAN模塊和定時(shí)器的函數(shù);Recv_EveryMessage()被CAN接受報(bào)文中斷服務(wù)函數(shù)調(diào)用。
2.3 修改Driver_Common.h文件,#define 新的平臺(tái),并包含驅(qū)動(dòng)相關(guān)的頭文件,#define NMID 新的網(wǎng)絡(luò)管理報(bào)文ID,#define ADDR_SELF 新的節(jié)點(diǎn)源地址。
2.4 可以參考stm32f407的例子來(lái)實(shí)現(xiàn)自己平臺(tái)的移植。
3. 附注
整個(gè)代碼移植到我的開(kāi)發(fā)板,并且在CANoe平臺(tái)驗(yàn)證過(guò)。
專門在Vspy平臺(tái)實(shí)現(xiàn)了虛擬的網(wǎng)絡(luò)管理節(jié)點(diǎn)
代碼片段和文件信息
////////////////////////////////////////
//?應(yīng)用程序,調(diào)用OSEK_NM的服務(wù)
////////////////////////////////////////
#include?“OsekNM.h“
#include?“Driver_Common.h“?//平臺(tái)相關(guān)的配置
#include?“OsekNMServer.h“
#include?“Timer.h“
#include?“usart.h“
#include?“CAN.h“
#include?“delay.h“
#include?“l(fā)ed.h“
#define?PRINT
int?main()
{
/*平臺(tái)初始化*/
#ifdef?STM32F407
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
uart_init(115200); //初始化串口波特率為115200
delay_init(168);????//初始化延時(shí)函數(shù)
??/*收到報(bào)文閃爍LED0*/
InitLed0();
#ifdef?PRINT
printf(“at?main\n“);
#endif
#endif
StartNM();
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\App\
?????文件?????????618??2019-02-27?01:30??OSEK_NM-master\App\Test.c
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\App\keil\
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\App\keil\DebugConfig\
?????文件????????2804??2019-02-27?01:30??OSEK_NM-master\App\keil\DebugConfig\OSEKNM_STM32F407ZGTx.dbgconf
?????文件????????2804??2019-02-27?01:30??OSEK_NM-master\App\keil\DebugConfig\Target_1_STM32F407ZGTx.dbgconf
?????文件???????78608??2019-02-27?01:30??OSEK_NM-master\App\keil\Jli
?????文件?????????716??2019-02-27?01:30??OSEK_NM-master\App\keil\Jli
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\App\keil\Listings\
?????文件??????203303??2019-02-27?01:30??OSEK_NM-master\App\keil\Listings\OSEKNM.map
?????文件???????81968??2019-02-27?01:30??OSEK_NM-master\App\keil\Listings\startup_stm32f40_41xxx.lst
?????文件???????94959??2019-02-27?01:30??OSEK_NM-master\App\keil\OSEKNM.uvguix.Administrator
?????文件???????28183??2019-02-27?01:30??OSEK_NM-master\App\keil\OSEKNM.uvoptx
?????文件???????25700??2019-02-27?01:30??OSEK_NM-master\App\keil\OSEKNM.uvprojx
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\Driver\
?????文件????????7203??2019-02-27?01:30??OSEK_NM-master\Driver\Driver_Common.c
?????文件????????1736??2019-02-27?01:30??OSEK_NM-master\Driver\Driver_Common.h
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\Driver\Win7\
?????文件????????4936??2019-02-27?01:30??OSEK_NM-master\Driver\Win7\Win7.c
?????文件????????2188??2019-02-27?01:30??OSEK_NM-master\Driver\Win7\Win7.h
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CAN\
?????文件????????4944??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CAN\CAN.c
?????文件?????????153??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CAN\CAN.h
?????目錄???????????0??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CORE\
?????文件????????7117??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CORE\arm_common_tables.h
?????文件??????244621??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CORE\arm_math.h
?????文件??????112545??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CORE\core_cm4.h
?????文件???????17659??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CORE\core_cmFunc.h
?????文件???????26992??2019-02-27?01:30??OSEK_NM-master\Driver\stm32f407\CORE\core_cmInstr.h
............此處省略113個(gè)文件信息
評(píng)論
共有 條評(píng)論