色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

CANOpen系列教程11_ 深度分析CanFestival_3架構

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-06 15:43 ? 次閱讀

1寫在前面

教程上一篇文章《關于Canfestival及對象字典生成工具環境搭建》中我們簡單認識了一下Canfestival這套免費開源CANOpen協議的框架。

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

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

1.manual手冊概要內容;

2.解析Canfestival源碼;

2

manual手冊概要內容

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

打開PDF手冊,我們可以清楚的看到手冊共有12章。對于使用STM32開發的初學者來說,相對重要一點的章節有:2, 3, 4, 9這些章節。

為了照顧初學者,這里先把每一章節內容概述一下,后面在重點講述部分的內容。

2.1 內容概要

第1章Introduction介紹

主要介紹了CanFestival是一個開源(LGPL和GPL) CANopen框架,CanFestival項目的起源及支持。同時,也介紹了什么是CANOpen協議,以及協議相關的規范。

第2章CanFestival特征

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

2.多平臺:庫源代碼是ANSI標準C,支持多平臺編譯和開發;

3.CANopen標準:支持DS-301、302、305等標準的CANOpen協議。

第3章How to start如何開始

這一章節其實主要就是對一些環境的要求和配置,及如何獲取CanFestival等。

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

第4章理解Canfestival

主要講述:理解源代碼文件目錄劃分情況、在應用程序中實現CanFestival以及源文件結構關系、CAN底層驅動接口的調用和實現、對事件調度的實現方法。

本章節內容直接牽涉源代碼相關內容,所以說比較重要,下面章節將進一步詳解。

第5、6章

這兩章節主要是針對Linux、Windows平臺的配置和開發相關內容,感興趣朋友可以認真研究一下,這里不講述。

第7章

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

第8章例程和測試程序

這一章節講述了配套提供的一些例程的相關說明。比如TestMasterSlave主從站測試例程中心跳發生器時間為1000毫秒等。

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

第9章開發一個新節點

這一章比較重要,我們開發一個新的節點,就需要編輯其對象字典,那么就需要通過編輯器編輯對象字典并生成代碼。

簡單的說,這章節的重要內容就是讓你學會如何使用這個對象字典編輯器工具。

第10章FAQ常見問題

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

第11章文檔資源

主要就是一些參考網址。

第12章關于這個項目

不是重點,可以了解一下這些信息

3

解析Canfestival源碼

3.1 源文件目錄

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

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

drivers:底層驅動;

include:.h頭文件;

src:.c源代碼;

一個對象字典生成工具:

objdictgen:object dictionary generate.

examples:例程,初學者可以參考;

3.2 源代碼結構關系及應用程序如何實現

這里有一張源文件的結構關系圖,大致就是將源文件按照其作用進行了劃分,初學者需要多看多理解。

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

左邊CAN底層驅動接口(前面我提供過STM32例程)。Target目標接口,如定時器

右邊底部對象字典,我們需要通過工具事先配置好,不需要人為編寫。最后就是我們通過調用API函數,實現應用程序。

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

3.3 CAN底層接口實現和要求

我們底層發送要求非阻塞的方式實現,一般我建議跑一個操作系統,加一個隊列的方式實現。

需要一個發送線程、一個接收線程,同時需要定時器實現事件的調度。

這一節的內容,對于初學者理解起來相對較難,可以先了解,有一個概念,后面我會結合代碼讓大家更容易理解其中含義。

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

    關注

    57

    文章

    2744

    瀏覽量

    463623
  • CANopen
    +關注

    關注

    8

    文章

    253

    瀏覽量

    43582
  • manual
    +關注

    關注

    0

    文章

    17

    瀏覽量

    11516
  • 編輯器
    +關注

    關注

    1

    文章

    805

    瀏覽量

    31163
收藏 人收藏

    評論

    相關推薦

    CANopen協議架構和應用原理

    穩健的通信協議和接口在工業電機控制應用中發揮著重要作用。在工業驅動應用中,當需要多個處理器元件來持續通信以完成復雜任務時,CANopen因其易于集成、高度可配置,以及支持高效、可靠的實時數據交換等特性,受到了眾多工程師青睞。本文從低功耗電機控制應用的角度深入探討CANopen
    的頭像 發表于 11-04 13:49 ?264次閱讀

    risc-v與esp32架構對比分析

    RISC-V與ESP32在架構上存在顯著的差異,這些差異主要體現在處理器類型、設計原則、功能特性以及應用場景等方面。以下是對兩者架構的詳細對比分析: 一、處理器類型與設計原則 RISC-V : 類型
    發表于 09-26 08:40

    iTOP-3562開發板/核心板采用RK3562,集成四核A53+Mali G52架構

    A53+Mali G52架構,主頻2GHZ,內置1TOPSNPU算力,RK809動態調頻。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1內嵌高性能2D加速硬件
    發表于 09-05 11:30

    X86架構處理器有哪些優點和缺點

    X86架構處理器作為計算機領域的重要組成部分,具有多個顯著的優點和一定的缺點。以下是對X86架構處理器優缺點的詳細分析
    的頭像 發表于 08-22 11:25 ?1963次閱讀

    X86架構和ARM架構有什么區別

    X86架構和ARM架構是兩種主流的CPU架構,它們在多個方面存在顯著的差異。以下是對這兩種架構的詳細比較,涵蓋了追求目標、應用領域、技術特點、性能功耗比、軟件生態以及未來趨勢等方面。
    的頭像 發表于 08-22 11:21 ?9198次閱讀

    探索RISC-V二進制翻譯,openKylin成功在SG2042平臺運行X86架構軟件!

    眾所周知,在新的指令集架構發展初期,往往采用兼容其他架構軟件的方法來拓展自身生態體系,如蘋果公司的Rosetta2和微軟的Arm64EC,都是將X86架構軟件運行在ARM架構的系統之上
    的頭像 發表于 07-24 08:34 ?531次閱讀
    探索RISC-V二進制翻譯,openKylin成功在SG2042平臺運行X86<b class='flag-5'>架構</b>軟件!

    ElfBoard技術貼|如何將libwebsockets庫編譯為x86架構

    在之前的文章中,我們已經詳細介紹了如何交叉編譯libwebsockets并將其部署到ELF1開發板上。然而在調試階段,發現將libwebsockets在Ubuntu環境下編譯為x86架構可能更為方便
    的頭像 發表于 07-10 09:38 ?1211次閱讀
    ElfBoard技術貼|如何將libwebsockets庫編譯為x86<b class='flag-5'>架構</b>

    迅為RK3562核心板四核A53+MaliG52架構,應用于商業平板電腦,視頻會議,智能家居,教育電子,醫療設備,邊緣計算,工業應用

    迅為RK3562核心板四核A53+MaliG52架構,應用于商業平板電腦,視頻會議,智能家居,教育電子,醫療設備,邊緣計算,工業應用
    發表于 07-09 10:57

    I.MX6ULL-飛凌 ElfBoard ELF1板卡 - 如何在Ubuntu中編譯OpenCV庫(X86架構

    使用X86架構的OpenCV庫,利用主機的強大計算性能和豐富的調試工具,可以加速開發進程并簡化調試環節。下面就跟小伙伴詳細講述如何在Ubuntu環境下將 OpenCV 編譯為 X86 架構。 開發環境
    發表于 06-07 09:32

    移動端芯片性能提升,Armv9架構新升級引發關注

    “數碼博主”5月17日的最新爆料指出,聯發科積極推進Armv9新一代IP BLACKHAWK“黑鷹”的架構設計,預計天璣9400芯片將采用這一架構,有望以“全大核”設計再度領跑移動SoC CPU性能榜單。
    的頭像 發表于 05-17 16:51 ?1010次閱讀

    鴻湖萬聯成功舉辦基于x86架構的OpenHarmony應用生態挑戰賽

    近日,由開放原子開源基金會、央視網、江蘇省工業和信息化廳、無錫市人民政府、江蘇軟件產業人才發展基金會、蘇州工業園區、無錫高新區等共同承辦,鴻湖萬聯參與共建的“基于x86架構的OpenHarmony應用生態挑戰賽”決賽路演在無錫圓滿落幕。
    的頭像 發表于 04-23 09:26 ?339次閱讀
    鴻湖萬聯成功舉辦基于x86<b class='flag-5'>架構</b>的OpenHarmony應用生態挑戰賽

    AMD Radeon RX 7000M系列顯卡特性分析

    AMD RDNA 3架構 – 新的計算單元在渲染、AI和光線追蹤之間共享資源,以更有效地利用每個晶體管,實現快速又高效的性能。
    發表于 04-15 11:31 ?531次閱讀
    AMD Radeon RX 7000M<b class='flag-5'>系列</b>顯卡特性<b class='flag-5'>分析</b>

    arm架構和x86架構區別 linux是x86還是arm

    ARM架構和x86架構是兩種不同的計算機處理器架構,它們在體系結構、指令集、應用領域等方面有著明顯的區別。Linux操作系統則具有廣泛的適配性,可以運行在各種架構上,包括x86和ARM
    的頭像 發表于 01-30 13:46 ?1.8w次閱讀

    Profinet協議轉換為CanOpen協議來連接CanOpen伺服驅動器的應用

    局域網(CAN)網絡的通信協議,被廣泛應用于汽車和其他嵌入式系統中。對于將Profinet協議轉換為CanOpen協議以鏈接臺達B3系列伺服驅動器的應用,以下是一些運用的基本步驟:系列
    發表于 01-10 10:29

    OPPO發布自研芯片軟硬融合技術棧“潮汐架構”,同時宣布退出芯片領域

    據了解,這一架構是OPPO與其合作伙伴聯發科技深度協同開發的結果。其充分挖掘芯片底層潛能,實現異構計算單元的高效動態調度。
    的頭像 發表于 01-09 09:26 ?765次閱讀
    主站蜘蛛池模板: 日本xxxx69动漫| 天美麻豆成人AV精品视频| rio 快播| 扒开老师粉嫩的泬10P| 亚洲AV久久无码高潮喷水| 国产精品免费视频播放| 骚浪插深些好烫喷了| 精品久久日日躁夜夜躁AV| 成年人深夜福利| 在线亚洲精品国产一区麻豆| 日本撒尿特写| 老女人与小伙子露脸对白| 国产麻豆精品人妻无码A片| 扒开美女下面粉嫩粉嫩冒白浆| 亚洲精品在线播放视频| 色狠狠一区| 欧洲精品不卡1卡2卡三卡四卡 | 久久久国产精品免费A片蜜臀| 国产99在线视频| 妖精视频在线观看高清| 乳色吐息未增删樱花ED在线观看| 久久99综合国产精品亚洲首页| 国产精品麻豆a在线播放| 草莓视频app深夜福利| 99精品免费观看| 2020久久精品永久免费| 亚洲中文字幕无码爆乳APP| 亚洲 欧美 另类 中文 在线| 四虎影视永久无码精品| 日本漫画母亲口工子全彩| 女人18毛片| 国产乱人伦AV麻豆网| 粗暴玩烂货调教| 公交车被CAO到合不拢腿| 被两根巨大同时进去高H| www色视频在线观看| 97国产视频| 印度最猛性ⅹxxxxx| 一个人免费观看完整视频日本| 亚洲欧美日韩在线码不卡 | 丰满人妻无码AV系列|