美女网站一区二区_在线观看日韩毛片_成人在线视频首页_欧美精品一区二区三区久久久_国产精品亚洲一区二区三区在线_日本免费新一区视频_日本美女一区二区三区_精品亚洲成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在线一区二区_欧美不卡一区二区_欧美影视一区二区三区


        国产91精品入口17c| 国产裸体歌舞团一区二区| 日韩欧美成人激情| 91精品啪在线观看国产60岁| 欧美精品粉嫩高潮一区二区| 91精品国产欧美一区二区成人| 欧美日韩国产成人在线91| 日韩一区二区三区精品视频| 久久久另类综合| 国产精品五月天| 亚洲国产精品久久一线不卡| 免费成人美女在线观看| 成人综合在线观看| 国产福利久久精品| 视频在线99re| 欧美一级日韩不卡播放免费| 欧美韩日一区二区三区| 亚洲高清视频在线| 美国三级日本三级久久99| 国产成人精品三级| 国产一级特黄a大片99| 亚洲高清视频在线观看| 欧美久久一区二区| 欧美国产精品v| 亚洲成av人片在线| 国产毛片一区二区| 国产综合第一页| 在线免费观看视频一区| 精品久久国产字幕高潮| 一区二区三区欧美| 国产精品123| 精品亚洲欧美日韩| 欧美女孩性生活视频| 国产精品免费人成网站| 热久久免费视频| 99re国产视频| 在线视频一区二区免费| 久久久国产精品麻豆| 五月激情丁香一区二区三区| 成人丝袜高跟foot| 亚洲精品影院| 久久久亚洲午夜电影| 日韩精品欧美精品| 超碰97在线播放| 欧美日韩一区在线观看| 国产精品萝li| 国产91色综合久久免费分享| 天堂一区二区三区| 久久一夜天堂av一区二区三区| 午夜电影一区二区三区| 99精品国产一区二区| 欧美色窝79yyyycom| 亚洲免费伊人电影| 不卡的电影网站| 91久久精品一区二区三| 国产精品久久久久久久久免费桃花 | 日韩一区二区三区三四区视频在线观看 | 国产一区福利在线| 久久精品aaaaaa毛片| 日韩一区二区电影在线| 丝袜脚交一区二区| 久久精品一区二区三区不卡免费视频| 欧美一区二区黄色| 日产欧产美韩系列久久99| 精品日本一区二区三区在线观看| 日韩视频永久免费| 裸体在线国模精品偷拍| 色狠狠久久av五月综合| 综合在线观看色| 91视频国产资源| 欧美一区二区在线免费观看| 麻豆精品新av中文字幕| 亚洲一区二区三区精品在线观看| 最新不卡av在线| 国产精品久久九九| 久久蜜桃香蕉精品一区二区三区| 国产美女视频91| 欧洲一区二区av| 视频一区二区三区中文字幕| 麻豆av一区二区三区| 国产精品国产三级国产普通话蜜臀 | 日本一区网站| 成人免费一区二区三区在线观看| 91手机在线观看| 日韩欧美的一区| 成人免费高清在线观看| 91麻豆精品国产91久久久使用方法| 日日夜夜免费精品视频| 亚洲人成网站在线播放2019| 亚洲一区二区视频在线观看| 久久精品国产美女| 亚洲麻豆国产自偷在线| 激情五月综合色婷婷一区二区| 国产日韩在线不卡| 91丨九色丨尤物| 久久精品网站免费观看| 成人av网址在线观看| 日韩欧美激情一区| 成年人国产精品| 国产亚洲欧美在线| 国产亚洲欧美一区二区| 日韩伦理免费电影| 日韩av电影免费在线观看| 亚洲自拍另类综合| 亚洲午夜精品久久| 裸体歌舞表演一区二区| 欧美日韩一区二区在线观看 | 久久综合av免费| 91久久伊人青青碰碰婷婷| 久久精品视频免费观看| 国产伦一区二区三区色一情| 亚洲视频一二三区| 色婷婷精品国产一区二区三区| 香蕉av福利精品导航| 欧洲一区在线电影| 成人午夜免费电影| 国产精品女主播在线观看| 欧美日韩一区二区三区免费| 亚洲sss视频在线视频| 精品视频一区三区九区| 白白色 亚洲乱淫| 国产精品久久久久久久久久久免费看 | 日韩av电影一区| 欧美精品一二三四| 91麻豆视频网站| 亚洲精品日产精品乱码不卡| 91国偷自产一区二区开放时间| 久久av中文字幕片| 久久精品人人做人人爽97| 欧美精品尤物在线| 另类小说欧美激情| 国产亚洲精品免费| 亚洲一区在线免费| 国产69精品久久久久毛片| 国产欧美va欧美不卡在线| 视频一区二区在线| 国产九九视频一区二区三区| 中文字幕精品综合| 在线看无码的免费网站| 成人网在线免费视频| 亚洲精品伦理在线| 欧美老肥妇做.爰bbww视频| www日韩av| 青草国产精品久久久久久| 久久综合色播五月| 亚洲日本精品国产第一区| 成人国产在线观看| 亚洲成人一区在线| 久久看人人爽人人| 91精品1区2区| 国产精品免费视频一区二区 | 亚洲国产精品成人综合| 色呦呦国产精品| 99在线视频免费观看| 首页亚洲欧美制服丝腿| 久久综合九色综合欧美就去吻 | 精品国产乱码久久久久久丨区2区| 日韩成人精品在线观看| 日本一区免费视频| 欧美在线一区二区三区| 国产精品初高中精品久久| 老司机精品视频导航| 自拍偷拍国产亚洲| 欧美一区二区三区在线视频| 日韩一本精品| 成人欧美一区二区三区视频xxx| 奇米精品一区二区三区在线观看一| 欧美激情综合在线| 欧美一区二区不卡视频| 亚洲一区二区在| 国偷自产av一区二区三区小尤奈| 国产传媒日韩欧美成人| 亚洲成a人v欧美综合天堂下载| 国产欧美一区二区在线| 欧美精品v国产精品v日韩精品| 亚洲v欧美v另类v综合v日韩v| 成人h视频在线观看| 国产不卡视频一区| 麻豆国产欧美一区二区三区| 亚洲乱码国产乱码精品精98午夜| 欧美成人激情免费网| 在线中文字幕一区二区| 日韩中文字幕av在线| 国产在线一区二区三区四区| 不卡视频在线观看| 国产精品一区专区| 久久国产精品72免费观看| 亚洲综合免费观看高清在线观看| 中文字幕欧美三区| 26uuu精品一区二区在线观看| 欧美高清视频一二三区| 欧美视频精品在线观看| 在线不卡日本| 永久免费精品视频网站| 四虎一区二区| 欧美亚洲爱爱另类综合| 国产一区自拍视频| 国产精品10p综合二区| 91浏览器打开| 91欧美一区二区|