美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区

產品分類

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

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

Atheros SDK研究與使用

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

最近空閑時間很多,索性研究起了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處

推薦產品

更多
美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成a人_久久不见久久见免费视频1_91首页免费视频_欧美一区二区在线看_91精品91久久久中77777_天堂蜜桃一区二区三区_av在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        亚洲一区二区三区午夜| 精品久久久久久一区| 丝袜亚洲另类欧美综合| 亚洲在线免费播放| 亚洲一区二区三区影院| 一区二区高清在线| 亚洲在线中文字幕| 无码av免费一区二区三区试看| 亚洲国产一区视频| 五月婷婷另类国产| 九九热在线视频观看这里只有精品| 精品一区二区成人精品| 国产精品亚洲一区二区三区妖精 | 99国产超薄丝袜足j在线观看| 鬼打鬼之黄金道士1992林正英| 久久久久se| 色综合亚洲欧洲| 欧美一区二区三区的| 久久麻豆一区二区| 亚洲视频资源在线| 日本欧美一区二区| 国产91精品一区二区麻豆网站| 99久久精品国产毛片| 青青影院一区二区三区四区| 中文字幕一区综合| 日韩一区二区免费在线观看| 中文字幕高清不卡| 亚洲6080在线| 成人一级视频在线观看| 九九九热999| 色成年激情久久综合| 欧美一区二区三区喷汁尤物| 中文字幕av一区 二区| 亚洲超碰精品一区二区| 成人综合婷婷国产精品久久免费| 国产自产在线视频一区| 91福利国产成人精品照片| xfplay精品久久| 亚洲午夜视频在线观看| 成人小视频免费观看| 免费精品视频一区二区三区| 欧美日韩精品是欧美日韩精品| 久久久美女艺术照精彩视频福利播放| 亚洲一区二区不卡免费| 福利一区在线观看| 奇米精品在线| 精品国产电影一区二区| 亚洲国产视频直播| 97国产精品videossex| 亚洲一区二区三区加勒比| 精品少妇一区二区三区在线视频| 亚洲卡通欧美制服中文| 国产91精品入口| 亚洲午夜精品久久久中文影院av| 2020国产精品自拍| 亚洲va欧美va人人爽| 91老司机福利 在线| 欧美视频中文一区二区三区在线观看| 国产精品素人视频| 国产美女av一区二区三区| 欧美精品七区| 久久精品视频一区| 精彩视频一区二区| 欧洲一区二区在线观看| 26uuu成人网一区二区三区| 老司机午夜精品| 欧美精品一区二区视频| 久久久久成人黄色影片| 狠狠色综合日日| 一本一道波多野结衣一区二区| 国产精品久久久久久久久免费相片| 国产美女视频一区| 一区二区三区精品国产| 最新热久久免费视频| 不卡高清视频专区| 欧美综合一区二区三区| 伊人婷婷欧美激情| 国产精品区一区二区三含羞草| 日韩视频一区在线观看| 美女一区二区久久| 亚洲人久久久| 亚洲另类中文字| 懂色一区二区三区av片| 26uuu久久天堂性欧美| 国产成人在线视频播放| 欧美在线free| 免费成人在线视频观看| 亚洲 国产 欧美一区| 一区二区三区四区在线| 国产精品一区在线播放| 国产日本欧美一区二区| 91九色在线免费视频| 精品福利一区二区三区免费视频| 国产成人免费av在线| 在线91免费看| 国产专区综合网| 日韩午夜av一区| 成人性色生活片| 2023国产一二三区日本精品2022| 成人黄色片在线观看| 日韩一区二区三区av| 成人综合婷婷国产精品久久免费| 日韩一级黄色大片| av在线不卡免费看| 精品国精品国产尤物美女| 成人国产电影网| 久久久久久亚洲综合影院红桃 | 亚洲狠狠婷婷综合久久久| 亚洲日本中文字幕区| 国产一区不卡在线观看| 国产精品乱码人人做人人爱| 国产精品日韩高清| 中文字幕视频一区二区三区久| 国产伦精品一区二区三区照片| 国产精品伦理在线| 欧美精品一区二区三区在线看午夜| 亚洲乱码精品一二三四区日韩在线| 久久艳妇乳肉豪妇荡乳av| 亚洲免费观看在线视频| 亚洲国产精品久久久久婷婷老年 | 波多野洁衣一区| www日韩大片| 精品视频一区二区三区四区| 一级女性全黄久久生活片免费| 色婷婷精品国产一区二区三区| 日韩精品国产欧美| 欧美日韩激情一区| www.欧美精品一二区| 国产精品不卡在线| 亚洲一卡二卡三卡| 国产精品一区二区x88av| 精品国偷自产国产一区| 国产不卡一区二区在线观看| 亚洲综合偷拍欧美一区色| 在线看不卡av| av中文字幕不卡| 亚洲精品中文在线影院| 欧洲精品一区二区三区在线观看| 成人一区在线看| 专区另类欧美日韩| 在线免费av一区| 91蜜桃免费观看视频| 夜夜嗨av一区二区三区四季av | 国产精品推荐精品| 亚洲电影一级片| 日韩你懂的在线观看| 欧美日韩视频在线一区二区观看视频| 日本少妇一区二区| 2023国产精华国产精品| 天堂社区 天堂综合网 天堂资源最新版| 久久精品国产一区二区三| 久久综合九色综合欧美98| 欧美一区免费视频| 国产剧情一区在线| 亚洲精品国产高清久久伦理二区 | 亚洲区小说区图片区qvod| 一区二区三区在线视频看| 成人激情小说乱人伦| 伊人婷婷欧美激情| 精品人伦一区二区色婷婷| 水蜜桃亚洲一二三四在线| 成人免费高清在线观看| 亚洲国产欧美日韩另类综合 | 国产亚洲成aⅴ人片在线观看| 欧美日韩喷水| www.欧美色图| 日韩av网站在线观看| 国产午夜精品美女毛片视频| 91久久精品一区二区三区| 国产高清在线一区| 激情成人综合网| 亚洲一二三区不卡| 久久综合九色综合97婷婷 | 视频在线观看成人| 97人人模人人爽人人喊38tv| 蜜臀va亚洲va欧美va天堂| 国产精品国产自产拍高清av| 制服.丝袜.亚洲.中文.综合| 天天爽天天狠久久久| 91免费观看| 国产一区啦啦啦在线观看| 亚洲一区二区三区小说| 国产日产欧产精品推荐色| 91精品久久久久久久91蜜桃| 永久域名在线精品| 久久99导航| 97操在线视频| 国产剧情av麻豆香蕉精品| 日韩精品久久理论片| 一区二区在线看| 国产精品国产三级国产三级人妇 | 久久久精品人体av艺术| 在线播放中文一区| 伊人天天久久大香线蕉av色| 免费久久99精品国产自| 国产精品久久国产精品| www.久久精品| 东方aⅴ免费观看久久av| 精品写真视频在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎 |