91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

CANOpen系列教程11_ 深度分析CanFestival_3架構(gòu)

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 15:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1寫在前面

教程上一篇文章《關(guān)于Canfestival及對(duì)象字典生成工具環(huán)境搭建》中我們簡單認(rèn)識(shí)了一下Canfestival這套免費(fèi)開源CANOpen協(xié)議的框架。

那么,本文將會(huì)以下載的PDF手冊(cè)(源碼里面也有)為導(dǎo)向,來深入解析Canfestival這套框架。

本文大概分兩部分來講述:

1.manual手冊(cè)概要內(nèi)容;

2.解析Canfestival源碼;

2

manual手冊(cè)概要內(nèi)容

請(qǐng)先下載我們教程上一篇文章《關(guān)于Canfestival及對(duì)象字典生成工具環(huán)境搭建》提到的PDF手冊(cè)(解壓源碼,在目錄objdictgen doc下面也有manual_en.pdf手冊(cè)文檔)。

打開PDF手冊(cè),我們可以清楚的看到手冊(cè)共有12章。對(duì)于使用STM32開發(fā)的初學(xué)者來說,相對(duì)重要一點(diǎn)的章節(jié)有:2, 3, 4, 9這些章節(jié)。

為了照顧初學(xué)者,這里先把每一章節(jié)內(nèi)容概述一下,后面在重點(diǎn)講述部分的內(nèi)容。

2.1 內(nèi)容概要

第1章Introduction介紹

主要介紹了CanFestival是一個(gè)開源(LGPL和GPL) CANopen框架,CanFestival項(xiàng)目的起源及支持。同時(shí),也介紹了什么是CANOpen協(xié)議,以及協(xié)議相關(guān)的規(guī)范。

第2章CanFestival特征

1.工具:提供對(duì)象字典GUI圖形化編輯器、代碼生成,以及腳本等配套工具;

2.多平臺(tái):庫源代碼是ANSI標(biāo)準(zhǔn)C,支持多平臺(tái)編譯和開發(fā);

3.CANopen標(biāo)準(zhǔn):支持DS-301、302、305等標(biāo)準(zhǔn)的CANOpen協(xié)議。

第3章How to start如何開始

這一章節(jié)其實(shí)主要就是對(duì)一些環(huán)境的要求和配置,及如何獲取CanFestival等。

其實(shí),對(duì)我我們使用MCU開發(fā)的人來說,重要的就是對(duì)象字典編輯和生成工具的環(huán)境(具體請(qǐng)參看教程上一篇文章《對(duì)象字典生成工具環(huán)境搭建》)。其它基于Windows、Linux開發(fā)的環(huán)境,大家可以參考文檔配置一下,這里不講述。

第4章理解Canfestival

主要講述:理解源代碼文件目錄劃分情況、在應(yīng)用程序中實(shí)現(xiàn)CanFestival以及源文件結(jié)構(gòu)關(guān)系、CAN底層驅(qū)動(dòng)接口的調(diào)用和實(shí)現(xiàn)、對(duì)事件調(diào)度的實(shí)現(xiàn)方法。

本章節(jié)內(nèi)容直接牽涉源代碼相關(guān)內(nèi)容,所以說比較重要,下面章節(jié)將進(jìn)一步詳解。

第5、6章

這兩章節(jié)主要是針對(duì)Linux、Windows平臺(tái)的配置和開發(fā)相關(guān)內(nèi)容,感興趣朋友可以認(rèn)真研究一下,這里不講述。

第7章

主要講述源碼提供的HCS12例程相關(guān)的編譯、下載、硬件連接以及演示。這里參考意義也不大,如果你有對(duì)應(yīng)的板卡,可以參考進(jìn)行演示一下。

第8章例程和測試程序

這一章節(jié)講述了配套提供的一些例程的相關(guān)說明。比如TestMasterSlave主從站測試?yán)?a target="_blank">中心跳發(fā)生器時(shí)間為1000毫秒等。

這些說明在源代碼中也有,通過查看提供的源代碼一目了然。所以,參看價(jià)值也不是很大。

第9章開發(fā)一個(gè)新節(jié)點(diǎn)

這一章比較重要,我們開發(fā)一個(gè)新的節(jié)點(diǎn),就需要編輯其對(duì)象字典,那么就需要通過編輯器編輯對(duì)象字典并生成代碼。

簡單的說,這章節(jié)的重要內(nèi)容就是讓你學(xué)會(huì)如何使用這個(gè)對(duì)象字典編輯器工具。

第10章FAQ常見問題

這一章節(jié),初學(xué)者能看懂的還建議看下有些問題可能對(duì)你有幫助,比如:CanFestival3是否符合DS301 V4.02版本?

第11章文檔資源

主要就是一些參考網(wǎng)址。

第12章關(guān)于這個(gè)項(xiàng)目

不是重點(diǎn),可以了解一下這些信息。

3

解析Canfestival源碼

3.1 源文件目錄

解壓下載的源碼壓縮包,會(huì)看到如下圖文件及文件夾:

我們主要需要的三個(gè).c .h源文件目錄:

drivers:底層驅(qū)動(dòng);

include:.h頭文件;

src:.c源代碼;

一個(gè)對(duì)象字典生成工具:

objdictgen:object dictionary generate.

examples:例程,初學(xué)者可以參考;

3.2 源代碼結(jié)構(gòu)關(guān)系及應(yīng)用程序如何實(shí)現(xiàn)

這里有一張?jiān)次募慕Y(jié)構(gòu)關(guān)系圖,大致就是將源文件按照其作用進(jìn)行了劃分,初學(xué)者需要多看多理解。

從圖中我們可以看出,將源代碼劃分成三塊。中間的Library庫文件我們不會(huì)去動(dòng)它。主要修改左右兩邊的代碼。

左邊CAN底層驅(qū)動(dòng)接口(前面我提供過STM32例程)。Target目標(biāo)接口,如定時(shí)器。

右邊底部對(duì)象字典,我們需要通過工具事先配置好,不需要人為編寫。最后就是我們通過調(diào)用API函數(shù),實(shí)現(xiàn)應(yīng)用程序。

提示:最右邊的英文希望大家理解一下,對(duì)初學(xué)者有幫助,如打開CAN接口(也可以叫初始化)、初始化定時(shí)器......等。

3.3 CAN底層接口實(shí)現(xiàn)和要求

我們底層發(fā)送要求非阻塞的方式實(shí)現(xiàn),一般我建議跑一個(gè)操作系統(tǒng),加一個(gè)隊(duì)列的方式實(shí)現(xiàn)。

需要一個(gè)發(fā)送線程、一個(gè)接收線程,同時(shí)需要定時(shí)器實(shí)現(xiàn)事件的調(diào)度。

這一節(jié)的內(nèi)容,對(duì)于初學(xué)者理解起來相對(duì)較難,可以先了解,有一個(gè)概念,后面我會(huì)結(jié)合代碼讓大家更容易理解其中含義。

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

    關(guān)注

    59

    文章

    3066

    瀏覽量

    472737
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    492

    瀏覽量

    49011
  • manual
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    11740
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    828

    瀏覽量

    32895
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Microchip 11XX 系列串行 EEPROM 產(chǎn)品深度解析

    Microchip 11XX 系列串行 EEPROM 產(chǎn)品深度解析 在電子工程師的日常設(shè)計(jì)工作中,串行 EEPROM 是常用的存儲(chǔ)器件之一。Microchip 推出的 11XX
    的頭像 發(fā)表于 02-09 16:35 ?2995次閱讀

    【團(tuán)購】獨(dú)家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實(shí)戰(zhàn)課(11系列課程,共5000+分鐘)

    深度學(xué)習(xí)技能的工程師起薪18K,3-5年經(jīng)驗(yàn)可達(dá)35-50K ? 行業(yè)分布:電子制造(38%)、汽車零部件(22%)、半導(dǎo)體(19%)、醫(yī)療器械(11%)為主要就業(yè)領(lǐng)域 本次團(tuán)購?fù)ㄟ^整合11
    發(fā)表于 12-04 09:28

    【團(tuán)購】獨(dú)家全套珍藏!龍哥LabVIEW視覺深度學(xué)習(xí)實(shí)戰(zhàn)課程(11系列課程,共5000+分鐘)

    深度學(xué)習(xí)技能的工程師起薪18K,3-5年經(jīng)驗(yàn)可達(dá)35-50K ? 行業(yè)分布:電子制造(38%)、汽車零部件(22%)、半導(dǎo)體(19%)、醫(yī)療器械(11%)為主要就業(yè)領(lǐng)域 本次團(tuán)購?fù)ㄟ^整合11
    發(fā)表于 12-03 13:50

    那么龍芯CPU性能如何呢?

    · ? 3A6000 ?:采用LA464架構(gòu),4核8線程設(shè)計(jì),實(shí)測單核性能與英特爾10代酷睿i3-10100F持平,多核性能提升60%以上其每GHz性能表現(xiàn)甚至超越AMD Zen3
    的頭像 發(fā)表于 12-03 13:42 ?1010次閱讀

    基于蜂鳥E203架構(gòu)的指令集K擴(kuò)展

    向量操作指令,例如向量加法、向量乘法等。 在蜂鳥E203架構(gòu)中,可以添加K擴(kuò)展指令集,以處理大規(guī)模的數(shù)據(jù)集,可以添加以下指令: 1.VADD:向量加法指令,將兩個(gè)向量相加并存儲(chǔ)結(jié)果到一個(gè)向量寄存器中
    發(fā)表于 10-21 09:38

    迅為Hi3403V610開發(fā)板海思Cortex-A55架構(gòu)核心板卡

    迅為電子重磅推出基于海思Hi3403處理器的高性能核心板,采用先進(jìn)的四核Cortex-A55架構(gòu),主頻高達(dá)1.4GHz,以強(qiáng)勁算力、超凡能效比與卓越的圖像處理能力,為千行百業(yè)的智能化升級(jí)注入核心動(dòng)力。無論是智能視覺、工業(yè)互聯(lián),還是AIoT邊緣計(jì)算,它都能輕松駕馭,助您暢快開發(fā)!
    的頭像 發(fā)表于 09-30 14:18 ?686次閱讀
    迅為Hi3403V610開發(fā)板海思Cortex-A55<b class='flag-5'>架構(gòu)</b>核心板卡

    移植CANfestival,發(fā)現(xiàn)can無法接收數(shù)據(jù),為什么?

    最近在研究Canopen協(xié)議,在f407的板子上移植了canfestival協(xié)議棧 移植成功后遇到一些問題,總線上我在沒有發(fā)數(shù)據(jù)的情況下還是可以進(jìn)入can接收中斷,我不清為什么會(huì)進(jìn)入中斷,后來我自己
    發(fā)表于 09-11 07:46

    CanFestival軟件包下載失敗的原因?

    如上圖,因?yàn)镚itee服務(wù)器不穩(wěn)定,下載不成功. 如果大佬們有最新版本的canfestival軟件包,麻煩給我下載一下.
    發(fā)表于 09-11 06:39

    EtherCAT轉(zhuǎn)CANopen,噴碼機(jī)高效通訊秘籍

    CANopen
    北京開疆智能技術(shù)有限公司
    發(fā)布于 :2025年08月19日 17:08:06

    3步搞定!Canopen轉(zhuǎn)EtherCAT網(wǎng)關(guān),驅(qū)動(dòng)伺服新突破

    CANopen
    北京開疆智能技術(shù)有限公司
    發(fā)布于 :2025年07月19日 11:44:35

    GPU架構(gòu)深度解析

    GPU架構(gòu)深度解析從圖形處理到通用計(jì)算的進(jìn)化之路圖形處理單元(GPU),作為現(xiàn)代計(jì)算機(jī)中不可或缺的一部分,已經(jīng)從最初的圖形渲染專用處理器,發(fā)展成為強(qiáng)大的并行計(jì)算引擎,廣泛應(yīng)用于人工智能、科學(xué)計(jì)算
    的頭像 發(fā)表于 05-30 10:36 ?1852次閱讀
    GPU<b class='flag-5'>架構(gòu)</b><b class='flag-5'>深度</b>解析

    存儲(chǔ)示波器的存儲(chǔ)深度對(duì)信號(hào)分析有什么影響?

    ) 采樣率:≥6.4GS/s(數(shù)據(jù)速率×2)。 存儲(chǔ)深度:≥10Mpts(記錄時(shí)間≥1.56μs,支持突發(fā)信號(hào))。 優(yōu)化:啟用分段存儲(chǔ)(如1000段×10kpts)或外部觸發(fā)。 3. 電源紋波分析(如
    發(fā)表于 05-27 14:39

    盟通方案|專業(yè)的CANopen總線分析軟件

    在CAN/CANopen產(chǎn)品開發(fā)過程中,數(shù)據(jù)分析是非常關(guān)鍵的一環(huán)。數(shù)據(jù)幀分析軟件就如您工作中的萬能工具。不但能夠抓取CAN數(shù)據(jù)包,還能夠協(xié)助您分析數(shù)據(jù)功能,甚至用規(guī)則的數(shù)據(jù)時(shí)序排列,以
    的頭像 發(fā)表于 05-23 16:06 ?784次閱讀
    盟通方案|專業(yè)的<b class='flag-5'>CANopen</b>總線<b class='flag-5'>分析</b>軟件

    東風(fēng)嵐圖發(fā)布L3級(jí)智能架構(gòu)天元智

    近日,東風(fēng)嵐圖在北京正式發(fā)布L3級(jí)智能架構(gòu)天元智,并首發(fā)兩大核心智能化技術(shù)集群——青云L3級(jí)智能安全行駛平臺(tái)和鯤鵬L3級(jí)智能安全駕駛系統(tǒng),
    的頭像 發(fā)表于 04-18 15:36 ?782次閱讀

    使用ES32實(shí)現(xiàn)CANopen從機(jī)

    字典。CANopen設(shè)備模型如下圖。對(duì)象字典描述了CANopen設(shè)備的所有行為和參數(shù)。CanFestival是一套開源免費(fèi)的CANopen協(xié)議棧。它功能強(qiáng)大,且提供
    的頭像 發(fā)表于 03-26 19:05 ?2126次閱讀
    使用ES32實(shí)現(xiàn)<b class='flag-5'>CANopen</b>從機(jī)