中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

當前位置: 首頁 > 工業電子產品 > 其他電子產品 > 開發板,套件,編程器 > 開發板

類型分類:
科普知識
數據分類:
開發板

Atheros SDK研究與使用

發布日期:2022-10-14 點擊率:78

最近空閑時間很多,索性研究起了Atheros SDK。正如很多讀者所知道的, 筆者本人并非軟件出身,所以很基礎的問題在我看來都很高深,Atheros的SDK也同樣如此,看了1,2天代碼,我總算研究清楚怎樣使用,后續爭取將我的研究與使用成果在這里與讀者分享。第一階段的研究目的是如何將自己需要的軟件一同編譯,最終可以在目標板上運行,本文也正是圍繞著這樣的主題展開。

Atheros SDK初體驗

這次使用的Atheros SDK版本是LSDK-9.2.0,使用的板子是 筆者自己設計的基于AR9344的大功率無線AP。按照官方文檔中的說明,將源代碼解壓至工作目錄,如下圖。

SourceCode-Directory

然后進入build目錄運行如下命令

make BOARD_TYPE=db12x BUILD_TYPE=jffs2

因為是第一次使用,需要編譯工具鏈,所以耗費的時間很長,好在編譯過程中沒有出現任何問題,順利地完成了全部的編譯過程,并得到了最終的二進制文件,如下圖。

Images-Built

將得到的二進制文件燒寫至Flash,板子可以正常啟動,說明以上的操作都是正確的。

變更Flash容量

由于我的設計是16MB Flash,與db12x默認的8MB Flash不符,因此需要更改源代碼,將Flash配置為16MB。經過了一段時間的摸索,發現Flash容量定義在了以下文件中

boot/u-boot/include/configs/db12x.h

將其中的的第12行變更為

#define FLASH_SIZE16

再次編譯,燒寫得到的二進制文件,發現在u-boot中已經正確地識別為16MB Flash。

分析Makefile

接下來研究如何將自己編寫的代碼編譯成為可執行文件,并在目標板中運行。在通讀了build目錄中的Makefile文件后,發現其會包含build/scripts目錄下相應的Makefile,這樣只需要變更build/scripts/db12x下的Makefile即可更改編譯進來的軟件。按照Atheros官方的注釋,也是如此

# Adding make instructions:

# Usually board/scripts/<target> is the correct place to do this.

# IMPORTANT: all "make targets" which add to $(INSTALL_ROOT)

再來分析build/scripts/db12x/Makefile.db12x文件,發現其最開始的一段輸出了較多的環境變量,例如

export HAL=$(TOPDIR)/drivers/wlan/hal

export ENETDIR=$(TOPDIR)/linux/drivers/ethernet

分析這樣做的好處是方便后續軟件版本的變更及增加代碼的可讀性,我在這里面加了一行

export TOM_DIR=$(TOPDIR)/apps/tom

這樣,我就可以將自己的代碼放在tom目錄下。

build/scripts/db12x/Makefile.db12x中定義了多個編譯模塊(暫時這樣稱呼,因為我還不知道其專有名詞),例如iptables_build,samba_build等,這些編譯模塊中的大部分又統一放置于common_mainline中,然后根據/build/scripts/db12x/config.db12x中相應的配置決定啟用哪些編譯模塊,例如本例中config.db12x設定BUILD_ATHR_HOSTAP為1,則根據條件判斷語句編譯如下模塊:

common_mainline: check_tftp rootfs_prep toolchain_build
kernel_build kernel_info enet_build busybox_build athr-hostapd athr-wpa_supplicant
sar cgi lzma_uimage uboot_mainline samba_build
ntfs3g_build $(stage2_build)

到這里,相信讀者也一定知道怎樣將自己的代碼編譯進去了,將自己的代碼仿照apps/tom目錄下,在build/scripts/db12x/Makefile.db12x定義一個唯一的模塊如tom_build,并將tom_build添加到common_mainline中即可。

Hello World

按照以上思路,將hello.c放在apps/tom目錄下,hello.c的代碼內容如下

#include <stdio.h>
int main() {
printf("Hello Worldn");
return 0;
}

定義tom_build如下

tom_build:
@echo making Toms Hello World
sleep 60
cd $(TOM_DIR) &&
$(TOOLPREFIX)gcc hello.c -o hello &&
cp hello $(INSTALL_ROOT)/sbin/hello

再次編譯,可以看到正在編譯hello.c的過程( 筆者故意設置了打印信息及暫停60秒),如下

Making 編譯完成后,首先進入apps/tom目錄,發現已經得到hello可執行文件,使用file命令查看這個可執行文件,結果如下

File-Hello 看來交叉編譯工具已經正確指定且得到了可在目標板上執行的文件。再次將得到的二進制文件燒寫至Flash,啟動,運行hello,得到了激動人心的“Hello World”。

hello-world

下一篇: PLC、DCS、FCS三大控

上一篇: 為Freescale i.MX6處

推薦產品

更多
中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          美女www一区二区| 久久99国产精品免费网站| 天天免费综合色| 欧美日韩不卡视频| 亚洲国产精品麻豆| 欧美一级二级三级蜜桃| 国产自产高清不卡| 中文字幕亚洲成人| 欧美日韩精品欧美日韩精品 | 精品国产欧美一区二区| 国产一区久久久| 国产精品电影一区二区| 欧美日韩亚洲不卡| 国产乱一区二区| 亚洲色图制服丝袜| 日韩三级高清在线| 色婷婷久久综合| 久久99精品一区二区三区| 亚洲欧洲色图综合| 精品乱码亚洲一区二区不卡| 丁香婷婷综合激情五月色| 亚洲va国产va欧美va观看| 久久久精品综合| 欧美妇女性影城| 99re热这里只有精品视频| 日本三级韩国三级欧美三级| 国产精品美女一区二区三区| 欧美丰满嫩嫩电影| av电影一区二区| 美日韩一区二区| 国产精品久久久久天堂| 欧美日本一道本在线视频| 成人免费看黄yyy456| 麻豆视频一区二区| 亚洲成人av中文| 最新高清无码专区| 久久久国产午夜精品 | 亚洲激情av在线| 久久精品人人做人人爽97| 欧美高清视频在线高清观看mv色露露十八| 国产91精品入口| 激情综合色综合久久综合| 日韩综合小视频| 香蕉影视欧美成人| 亚洲自拍欧美精品| 亚洲欧洲成人精品av97| 国产网红主播福利一区二区| 精品不卡在线视频| 精品国偷自产国产一区| 日韩午夜激情视频| 91精品国产综合久久精品app| 99国产精品久久久| 91麻豆国产福利在线观看| 99久久免费精品高清特色大片| 国产成人av一区二区三区在线 | 亚洲欧洲日产国码二区| 国产精品久久久久精k8| 一区在线观看视频| 亚洲欧洲韩国日本视频| 亚洲图片激情小说| 亚洲丝袜另类动漫二区| 一区二区在线电影| 亚洲一区二区三区四区中文字幕| 亚洲精品写真福利| 亚洲一区二区三区中文字幕| 亚洲成人一区二区在线观看| 亚州成人在线电影| 久久精品国产999大香线蕉| 黄色精品一二区| 国产91精品一区二区麻豆网站| jizz一区二区| 一本到高清视频免费精品| 欧美日韩在线综合| 日韩一区二区在线观看| 久久精品在线观看| 亚洲男同性视频| 亚洲国产成人av好男人在线观看| 日韩影院在线观看| 国产综合色视频| 91麻豆免费看片| 欧美伦理电影网| 国产欧美一区视频| 一级精品视频在线观看宜春院| 五月婷婷另类国产| 成人美女视频在线观看18| 欧洲一区二区av| 国产日韩精品一区二区三区| 亚洲欧洲日韩综合一区二区| 亚洲一区二区视频在线| 国产成人精品免费一区二区| 欧美日韩精品一区视频| 国产精品人成在线观看免费| 亚洲国产日韩在线一区模特| 精品亚洲aⅴ乱码一区二区三区| 99re亚洲国产精品| 精品福利一二区| 亚洲成人av一区| 99久久伊人久久99| 精品精品国产高清一毛片一天堂| 中文字幕第一区综合| 亚洲国产综合人成综合网站| 国产精品99久久久久久久女警| 欧美三片在线视频观看| 国产精品久久久久久久久晋中| 日本美女一区二区三区| 色婷婷精品大在线视频| 久久久久亚洲蜜桃| 日韩精品亚洲专区| 欧美性大战久久久| 亚洲视频小说图片| 国产精品夜夜嗨| 日韩免费高清av| 视频在线在亚洲| 欧美日韩一级二级| 樱桃国产成人精品视频| aaa亚洲精品| 国产精品午夜在线观看| 国产精品一区二区不卡| 日韩精品中文字幕一区| 美洲天堂一区二卡三卡四卡视频| 欧美图区在线视频| 一区二区三区在线视频播放| 97aⅴ精品视频一二三区| 中文天堂在线一区| 国产suv精品一区二区6| 精品国产91久久久久久久妲己| 六月丁香综合在线视频| 91精品国产91久久综合桃花| 日本特黄久久久高潮| 91精品国产入口在线| 亚洲三级在线免费观看| av在线播放一区二区三区| 国产精品午夜免费| 丰满白嫩尤物一区二区| 国产精品乱人伦中文| 国产成人av一区二区三区在线| 久久久国产一区二区三区四区小说| 日本欧美肥老太交大片| 宅男在线国产精品| 久久av资源站| 久久久久免费观看| 99免费精品在线观看| 综合久久给合久久狠狠狠97色| 国产乱码精品一区二区三区忘忧草| 久久综合中文字幕| 97久久精品人人澡人人爽| 国产精品久久久久久久久快鸭 | 蜜乳av一区二区| 91精品国产全国免费观看| 国内精品伊人久久久久影院对白| 久久精品视频一区二区三区| 色综合久久88色综合天天6 | 欧美蜜桃一区二区三区| 久热成人在线视频| 亚洲国产成人私人影院tom| 91美女在线观看| 麻豆91在线播放免费| 亚洲欧洲精品成人久久奇米网| 欧美日韩国产经典色站一区二区三区| 男人的天堂久久精品| 国产精品理论片在线观看| 欧美日韩一区高清| 成人丝袜18视频在线观看| 偷窥少妇高潮呻吟av久久免费| 欧美精品一区二区在线观看| 91猫先生在线| 国产一区二区电影| 午夜精品久久久久久久| 国产精品丝袜黑色高跟| 欧美一级xxx| 91免费版在线| 国产精品一区二区x88av| 午夜精品福利一区二区蜜股av| 国产精品第四页| 精品99久久久久久| 欧美日韩一本到| 91蜜桃网址入口| 成人午夜看片网址| 激情成人午夜视频| 免费久久99精品国产| 一区二区三区在线影院| 国产精品午夜免费| 久久亚洲精品小早川怜子| 制服丝袜亚洲精品中文字幕| 91行情网站电视在线观看高清版| 国产不卡一区视频| 国产伦精品一区二区三区视频青涩 | 日本一区二区三区久久久久久久久不| 91精品国产入口在线| 色哟哟日韩精品| 国产99久久精品| 激情深爱一区二区| 另类欧美日韩国产在线| 亚洲成人一区二区在线观看| 亚洲精品成人少妇| 亚洲丝袜美腿综合| 亚洲乱码日产精品bd| 中文字幕一区二区三区四区 | 国产嫩草影院久久久久| 日韩精品一区在线观看|