亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Arduino IDE SDK development SoftWare BootFlow.

2019-11-09 16:17:51
字體:
來源:轉載
供稿:網友

安裝了64位linux版的arduino IDE 1.8.1用于在arduino_due平臺上做開發,總體上給我的感覺用arduio IDE編譯,upload 程序,比之前在due上跑zephyr內核要直觀,方便很多, 只需要點擊幾個按鈕就能搞定一切. 但是IDE背后隱藏了很多重要的啟動機制,則是用這種開發模式看不到的.

 最簡單的例子, 打開一個arduion ide的一個工程,可以看到開發出來的接口只有setup和loop兩個: 這里寫圖片描述

 系統會主動鏈接和調用這兩個接口, 用戶只要在這兩個函數中寫好自己的邏輯.不需要知道背后的啟動細節, 但這個流程是怎樣的呢?

進入到arduino的安裝目錄,找到arduion sdk所在路徑 /home/user/.arduino15/packages/arduino/hardware/sam/1.6.11/cores/arduino/main.cpp,打開main.cpp文件: 這里寫圖片描述 上圖清楚的表明了setup, loop的調用機制, 由此揭開了arduino ide sdk的神秘面紗.為了更好用,sdk屏蔽了 cpu底層的啟動細節以及必要的底層硬件初始化機制, 同時,sdk還提供了很多的庫文件類供用戶調用.

另一個問題來了, main函數是誰調用的呢? 要完整描述整個啟動流程,必須了解一些cortex-m系列處理器的細節.  我們知道,cortex-m系列是從復位向量處開始啟動的,cortex_m有255個啟動向量,這些向量大部分是給外部IO中斷使用的,根據外部IO的連接可選配置, 但前16個是必不可少的,必須要設置, 以zephyr內核為例,在zephyr/arch/arm/core/cortex_m/vector_table.S文件中: 這里寫圖片描述 向量第二個slot __reset就是啟動入口. 處理器的實現不依賴os的邏輯,所以arduino也應該有同樣一張啟動向量表,我們要找到它,然后跟據第二個slot的定義去尋徐追蹤,直到找到調用main函數,邏輯鏈條閉合.

幾經周折,找到.arduino15/packages/arduino/hardware/sam/1.6.11/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_atmel/startup_sam3xa.c  文件,異常向量表在這里:   這里寫圖片描述

得知啟動入口是Reset_Handler, 同樣定義在本文件中: 這里寫圖片描述

可以看到,在啟動線程里過來調用了前面提到的main函數,整個邏輯鏈條打通了.

關于中斷處理, 以PIOD中斷為例, 在異常表中: 這里寫圖片描述 PIOD_Handler定義在中斷表里面,找到他的定義, 在文件 ~/.arduino15/packages/arduino/hardware/sam/1.6.11/cores/arduino/WInterrupts.c中: 這里寫圖片描述

看到函數中調用 callback指針表. 函數指針數組中記錄有每個終端發生時的終端處理程序入口,在同一個文件中被初始化: 這里寫圖片描述 所以,用戶程序只需要調用attachInterrupt函數注冊中斷入口即可.

從嵌入式os的角度看,arduino ide提供的sdk僅僅是一個前后臺系統, 是一個順序執行的系統,其程序進程中只有一個main線>程,程序功能的實現是依靠死循環實現;實時性主要是靠外部中斷信號,或者檢測IO口得信號實現的,中斷的運行的速度還>是比較快的,這是因為它完全是基于硬件機制的。至于實時性,如果是在簡單的系統中,即任務數少的情況,那前后臺還是>很迅速的.實時性收到線程數量的限制.

或者說arduino ide提供的sdk僅僅是一個單線程的裸機bootflow, 根本沒有os, 整個過程僅僅是不斷的執行loop函數,這讓我想起了西門子PLC的OB1 大循環,所有的事件處理都要安排在一個循環內進行,對于一個系統來講,實時性肯定是不夠的.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日本在线视频中文字字幕| 国产一区二区三区毛片| 国产精品久久久久秋霞鲁丝| 成人美女av在线直播| 成人国产精品一区二区| 国产精品视频大全| 久久精品91久久久久久再现| 欧美一级片在线播放| 成人国内精品久久久久一区| 日韩av影片在线观看| 久久深夜福利免费观看| 久久久久久成人精品| 精品国产91久久久久久老师| 欧美视频中文字幕在线| 欧美日韩一二三四五区| 亚洲精品在线91| 国产精品视频不卡| 久久亚洲成人精品| 欧美视频在线观看免费网址| 亚洲美女视频网| 国产欧美日韩丝袜精品一区| 欧美激情精品久久久久久| 91黑丝在线观看| 亚洲午夜色婷婷在线| 国产精品igao视频| 中文字幕亚洲一区| 欧美日韩第一页| 欧美黑人一区二区三区| 欧美黑人一级爽快片淫片高清| 亚洲色图欧美制服丝袜另类第一页| 欧美激情欧美激情在线五月| 国产免费一区二区三区在线能观看| 欧美高跟鞋交xxxxxhd| 国产成人精品一区二区| 欧美精品video| 国产z一区二区三区| 日韩欧美极品在线观看| 91麻豆国产语对白在线观看| 欧洲一区二区视频| 97久久精品人人澡人人爽缅北| 国产精品99久久久久久白浆小说| 国产免费一区二区三区在线观看| 国产亚洲欧洲黄色| 日韩欧美福利视频| 在线观看日韩欧美| 欧美黄色片视频| 国产一级揄自揄精品视频| 欧美大全免费观看电视剧大泉洋| 久久久久成人精品| 国产mv久久久| 91精品久久久久久久久青青| 美女扒开尿口让男人操亚洲视频网站| 亚洲日本成人女熟在线观看| 成人激情在线播放| 亚洲天堂av在线播放| 国产欧美一区二区三区四区| 成人性生交大片免费看视频直播| 国产伦精品免费视频| 俺去了亚洲欧美日韩| 亚洲欧美另类自拍| 中文字幕综合一区| 国产午夜精品美女视频明星a级| 日韩电视剧在线观看免费网站| 亚州国产精品久久久| 欧美日韩一区二区三区| 欧美成人免费视频| 精品国产乱码久久久久久天美| 日韩经典中文字幕在线观看| 欧美诱惑福利视频| 国产午夜精品一区二区三区| 热门国产精品亚洲第一区在线| 性亚洲最疯狂xxxx高清| 97视频人免费观看| 日韩av影院在线观看| 亚洲欧美中文在线视频| 欧美色xxxx| 日韩va亚洲va欧洲va国产| 精品中文字幕在线| 在线色欧美三级视频| 欧美在线不卡区| 一区二区三区日韩在线| 国产精选久久久久久| 成人情趣片在线观看免费| 日韩成人在线播放| 精品国产鲁一鲁一区二区张丽| 国产精品吴梦梦| 国产精品美乳在线观看| 国产精品欧美一区二区| 久久免费视频这里只有精品| 一级做a爰片久久毛片美女图片| 黄色成人在线播放| 亚洲国产日韩欧美在线动漫| 91探花福利精品国产自产在线| 青青久久av北条麻妃海外网| 久久国产精品久久久久久久久久| 最近2019中文字幕mv免费看| 91亚洲国产成人精品性色| 91久久精品日日躁夜夜躁国产| 亚洲国产日韩精品在线| 久久亚洲综合国产精品99麻豆精品福利| 97国产suv精品一区二区62| 欧美成人精品影院| 国产香蕉97碰碰久久人人| 日本中文字幕不卡免费| 91精品久久久久| 日韩电影在线观看永久视频免费网站| 日韩精品视频免费在线观看| 黑人巨大精品欧美一区二区一视频| 久久福利网址导航| 久久久精品电影| 国产成人a亚洲精品| 中文字幕欧美精品日韩中文字幕| 精品无人国产偷自产在线| 8050国产精品久久久久久| 日韩欧美中文在线| 91精品国产自产在线观看永久| 国产精品夫妻激情| 国产精品久久二区| 久久久久国产精品免费网站| 国产一区香蕉久久| 欧美成人黄色小视频| 亚洲欧美日韩综合| 亚洲精品一区中文| 欧美成人合集magnet| 国产伦精品一区二区三区精品视频| 久久久久久久久久久国产| 欧美日韩高清在线观看| 午夜精品久久久久久久久久久久| 亚洲激情自拍图| 欧美性猛交xxxx| 亚洲第一网站男人都懂| 亚洲欧美成人网| 日韩欧美国产免费播放| 色综合五月天导航| 91黄色8090| 国产精品无av码在线观看| 91精品美女在线| 欧美极品美女电影一区| 亚洲偷熟乱区亚洲香蕉av| 久久久精品一区| 亚洲毛片在线看| 国产日韩av高清| 欧美视频精品一区| 欧美极品少妇全裸体| 视频一区视频二区国产精品| 亚洲女人被黑人巨大进入| 国产大片精品免费永久看nba| 欧美成人精品xxx| 欧美电影免费观看高清| 亚洲第一区在线观看| 国产成人精品网站| 亚洲新声在线观看| 欧美麻豆久久久久久中文| 日本在线观看天堂男亚洲| 综合网中文字幕| 人体精品一二三区| 日本一区二区在线播放| 欧美一级电影在线| 黄色成人在线免费| 日韩免费av一区二区| 欧美激情在线播放| 日韩欧美在线视频免费观看| 国产91对白在线播放| 国产精品无码专区在线观看|