1、前面移植mmc驅(qū)動(dòng)因?yàn)橛芯W(wǎng)絡(luò)文章作為提示和參考,應(yīng)該要配置哪些宏已經(jīng)簡單粗暴地告知你了,但是你怎么知道哪些宏必須配哪些可以不配(或者說要配置的宏你應(yīng)該從哪找),這個(gè)問題在本次移植DM9000驅(qū)動(dòng)時(shí)特別留意了一下,發(fā)現(xiàn)最重要的還是要知道從根抓起,也就是從board_init_r()開始找到MMC找到NET的初始化入口函數(shù),然后順藤摸瓜已經(jīng)能找到一部分宏了,再就是源文件被編譯進(jìn)uboot時(shí)會需要一個(gè)關(guān)鍵宏(像這次DM9000,由于Makefile需要編譯dm9000x.o所以要定義CONFIG_DRIVER_DM9000這個(gè)宏),除了這些,預(yù)初始化函數(shù)和初始化函數(shù)的調(diào)用和書寫需要學(xué)著模仿uboot源碼其它板子的,因?yàn)镈M9000驅(qū)動(dòng)雖然uboot提供了,但是在uboot-2012.10的s5p_goni中沒有調(diào)用過,不過在比較接近S5PV210的smdkc100.c中,它是在board_init()中放的預(yù)初始化函數(shù),而初始化函數(shù)是在smdkc100.c文件末尾的board_eth_init()中調(diào)用的,可是在S5PV210的goni.c中根本就沒有board_eth_init()這個(gè)函數(shù)(因?yàn)閺娜绻袕腘ET初始化入口分析過來就會知道這個(gè)board_eth_init()是weak定義的),鑒于s5p_goni還沒調(diào)用過DM9000,所以就需要自己重新定義該函數(shù),那么應(yīng)該寫成什么樣、寫完放哪都需要考慮(所以說要模仿),寫的對不對以及整個(gè)函數(shù)放的位置對不對,自己編譯一遍燒到板子看有沒有出來現(xiàn)象就知道對不對了。
第一次嘗試ping的時(shí)候,由于著急看效果,但是完全沒注意serverip其實(shí)是沒設(shè)置過的,所以會ping不通,因?yàn)樵谂渲梦募暮曛兄惶砑恿四J(rèn)都會需要用的IP、子網(wǎng)掩碼和網(wǎng)關(guān),MAC地址都是執(zhí)行ping測試時(shí)系統(tǒng)提示沒設(shè)置才補(bǔ)的,調(diào)試ping的時(shí)候沒留意看開發(fā)板網(wǎng)口燈亮沒亮(因?yàn)樽雷有《覟榱瞬灏慰ǚ奖闼园验_發(fā)板的SD卡接口這邊朝向了自己,而網(wǎng)口剛好在另一側(cè)所以剛好不方便觀察,但是開發(fā)板網(wǎng)口燈只會在執(zhí)行ping過程中閃爍,閃爍的時(shí)間比較短暫,前期ping不通的時(shí)候忙著往別的原因排查但其實(shí)忘了這里原本就有一個(gè)很好的排查現(xiàn)象)。
在這次過程中,其實(shí)折騰的時(shí)間相對多的是id讀不到 (一直為0x00000000),ERROR: resetting DM9000 -> not responding的這個(gè)現(xiàn)象,這個(gè)現(xiàn)象網(wǎng)上也有說過解決辦法,那就是修改時(shí)鐘配置的SROMC配置,但當(dāng)時(shí)改了燒進(jìn)去現(xiàn)象沒變(按說改完這里應(yīng)該就可以的了),然后再想是不是漏宏了,改了一下把IP、子網(wǎng)掩碼和網(wǎng)關(guān)宏加了、BANK1的宏沒漏、要禁用EEPROM的宏業(yè)沒漏,然后燒進(jìn)去現(xiàn)象還是沒變化,然后看到網(wǎng)上文章提示說要留意網(wǎng)口燈,所以這時(shí)專門留意了一下,發(fā)現(xiàn)網(wǎng)口燈會閃,所以ping命令能執(zhí)行,那就應(yīng)該不是移植不全的問題,再下來,從入口函數(shù)開始細(xì)查,看到dm9000_reset()函數(shù)開頭第一句有一個(gè)DM9000_DEBUG()宏,已經(jīng)準(zhǔn)備做打印信息的想法了,而且這時(shí)剛好看到別的文章提示可以開打印信息,所以嘗試了一下開啟打印宏,燒進(jìn)去結(jié)果發(fā)現(xiàn)現(xiàn)象還是沒變,這時(shí)已經(jīng)能發(fā)覺問題所在了,打印信息應(yīng)該變多的,但是現(xiàn)象還是原來的現(xiàn)象,說明什么,說明燒的uboot不是最新的改完的那份,所以往前翻uboot的時(shí)間打印信息,發(fā)現(xiàn)是同一份(因?yàn)榇蛴≈赶虻亩际峭粋€(gè)時(shí)間),這時(shí)想起來可能和直接拔插SD讀卡器,ubuntu中沒有識別到卡已經(jīng)拔走了,于是ls /dev/sd*打印了一下,sdb分區(qū)竟然還保留著,明明現(xiàn)在都沒插著卡,所以每次燒錄都燒進(jìn)去那個(gè)舊的掛載點(diǎn)了(但可能這里就疑問了呀sdb名稱沒變呀,再插入卡會發(fā)現(xiàn)sdb1有出現(xiàn)而且是深顏色的,不過sdb還是淺顏色的,就是雖然是舊的sdb,即便名稱沒變其實(shí)應(yīng)該沒法燒進(jìn)去)。
另外就是因?yàn)殚_發(fā)板端沒有將ICMP的echo做到uboot中去,所以無論是PC還是ubuntu,在這一側(cè)都是無法ping到開發(fā)板的,由于這個(gè)內(nèi)容是在開發(fā)環(huán)境搭建時(shí)提及的,但是等這個(gè)時(shí)候真正試驗(yàn)起來已經(jīng)有點(diǎn)想不起來了,所以當(dāng)時(shí)還在疑惑為什么ping不到,然后就陷入了找答案的漩渦中;其實(shí)最后面查找原因的過程中發(fā)現(xiàn),如果要看互相ping通其實(shí)也還是有辦法的,就是在PC/ubuntu上準(zhǔn)備ping開發(fā)板ip的命令(其實(shí)主要是ubuntu上會比較明顯,因?yàn)閡buntu),然后點(diǎn)擊發(fā)送,再在開發(fā)板串口終端這邊發(fā)送ping命令去ping正在下發(fā)ping命令的PC(或者ubuntu),因?yàn)殚_發(fā)板ping主機(jī)是能通的,在通的這個(gè)短暫瞬間(也就是網(wǎng)口燈閃爍的這幾秒)開發(fā)板tftp端口開放,等ping命令執(zhí)行完開發(fā)板端tftp端口再次關(guān)閉,所以就能看到有互相ping通的過程。
2、由于開發(fā)板和筆記本PC的連接中間是用的USB轉(zhuǎn)RJ45(綠聯(lián)的AX8872C),但是這個(gè)USB轉(zhuǎn)網(wǎng)口有個(gè)問題是,插上以后能自動(dòng)裝驅(qū)動(dòng),但是開發(fā)板插上網(wǎng)線連到它之后,它的USB再插入PC,會顯示網(wǎng)絡(luò)電纜被拔出(無論開發(fā)板是否上電),不僅是這款,以前用的一個(gè)USB轉(zhuǎn)網(wǎng)口線也是這個(gè)現(xiàn)象,所以才買的現(xiàn)在這個(gè)綠聯(lián)USB轉(zhuǎn)網(wǎng)口就是為了排除這個(gè)問題,但是至少經(jīng)過現(xiàn)在使用驗(yàn)證,其實(shí)還沒有太多影響(不過還是要設(shè)置好橋接并且USB轉(zhuǎn)網(wǎng)口這個(gè)轉(zhuǎn)接線的網(wǎng)卡要和開發(fā)板在同一個(gè)網(wǎng)段下),其實(shí)一開始看到這個(gè)本地連接上顯示的紅叉,會自然而然地覺得可能用不了于是想著找找是什么問題導(dǎo)致或者有辦法解決的沒有,但可惜的是,并沒有看到比較有效的答案,另一個(gè)原因是,虛擬機(jī)那邊添加網(wǎng)絡(luò)適配器,一般來說會通過“自定義(U):特定網(wǎng)絡(luò)”這個(gè)下拉選項(xiàng)選擇已經(jīng)橋接的網(wǎng)卡,此時(shí)橋接的網(wǎng)卡旁邊會有()注明是橋接的,但是實(shí)際卻并沒有,所以也在懷疑是不是這個(gè)USB轉(zhuǎn)網(wǎng)口的紅叉帶來的影響。
另外就是測試tftp,因?yàn)閜ing只能通過開發(fā)板端向PC/ubuntu去ping,并且已經(jīng)ping通,但是由于相反過程無法看到現(xiàn)象,所以一開始tftp測試時(shí)遇到無法下載也是沒什么辦法,后面查看網(wǎng)上文章提示到要關(guān)閉防火墻,因?yàn)榉?wù)端tftpd64是在windows上(而網(wǎng)卡方面能夠選擇作為載體的除了本身的無線網(wǎng)卡,但是不能選,因?yàn)槭亲詣?dòng)獲取的,和USB轉(zhuǎn)網(wǎng)口的網(wǎng)卡1.7、開發(fā)板1.130根本就不在同一個(gè)網(wǎng)段,所以就只能選USB轉(zhuǎn)網(wǎng)口的這個(gè)網(wǎng)卡作為tftpd64服務(wù)端),所以嘗試把PC的域網(wǎng)絡(luò)、專用網(wǎng)絡(luò)、公用網(wǎng)絡(luò)防火墻全部關(guān)閉,再進(jìn)行測試發(fā)現(xiàn)能夠下載成功了,為了PC機(jī)的網(wǎng)絡(luò)安全起見,防火墻還是要打開的,所以只能到防火墻高級設(shè)置里創(chuàng)建UDP入站規(guī)則,將tftp的69端口添加上去,另外就是,即便windows還沒創(chuàng)建入站規(guī)則而且防火墻還是開啟的情況下(但是ubuntu防火墻已經(jīng)關(guān)閉),發(fā)現(xiàn)還是可以做到tftp下載文件到開發(fā)板的(不過開發(fā)板端env的serverip需要修改成ubuntu的ip),還有就是,無論使用以前舊的USB轉(zhuǎn)網(wǎng)口(某寶不知名品牌買的廉價(jià)貨)還是現(xiàn)在綠聯(lián)的AX8872C,而uboot用的無論是九鼎配套給的那個(gè)還是現(xiàn)在自己做的這個(gè),如果用tftp下載特大文件,例如200多兆的根文件系統(tǒng)(九鼎配套給的)到板子上,都會失?。ň唧w表現(xiàn)就是下載過程提示符#一直打印但是沒完沒了,或者干脆打印的#有斷層說明下載過程不流暢),而下載普通的kernel(因?yàn)橄鄬π。﹣碚f則不成問題,所以從這里也想明白了為什么九鼎官方是采用fastboot方式燒機(jī)而不是用uboot的tftp,因此懷疑后續(xù)還是要選擇移植fastboot方便根文件系統(tǒng)的下載(可能前期根文件系統(tǒng)小的時(shí)候還可以下但后面大了之后就不一定 了)。
上一篇:x210-2023-03-31
下一篇:x210-2023-03-20
- 熱門資源推薦
- 熱門放大器推薦
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 適用于汽車應(yīng)用的 LT3973HMSE-3.3 3.3V 降壓轉(zhuǎn)換器的典型應(yīng)用
- R_08_V30基于IPS2電機(jī)換向傳感器的設(shè)計(jì)
- 使用 Microchip Technology 的 PIC16C782 的參考設(shè)計(jì)
- 使用 LT1054CSW 基本型電壓逆變器 / 穩(wěn)壓器的典型應(yīng)用
- 使用 LTC3637EDHC 4V 至 76V 輸入至 1.8V 超級電容器充電器的典型應(yīng)用
- 儀表用 ADC 驅(qū)動(dòng)器
- EN6310QA 1A PowerSoC 電壓模式同步 PWM 降壓與集成電感器的典型應(yīng)用
- STEVAL-ISV012V1,使用 L6924D 高達(dá) 5 W 太陽能電池充電器的演示板,用于單節(jié)鋰離子和鋰聚合物電池
- 適用于汽車應(yīng)用的 A5974D 正降壓-升壓穩(wěn)壓器的典型應(yīng)用電路
- 使用 NXP Semiconductors 的 TDA2582Q 的參考設(shè)計(jì)
- 蘋果被判侵犯3G專利,需向西班牙公司TOT賠償1.1億美元
- 從設(shè)計(jì)概念到 FPGA 原型僅需數(shù)分鐘,印度 InCore 完成 SoC Generator 平臺硅驗(yàn)證
- 消息稱因難尋客戶,三星推遲美國芯片工廠的完工時(shí)間
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動(dòng)駕駛安全性
- 曉鶯說:線控制動(dòng)變革風(fēng)云
- 大眾商用車推出AirConsole 將其信息娛樂系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺傳感器 可使機(jī)器人對極端光照做出超快反應(yīng)
- 蘋果獲沉浸式虛擬顯示器相關(guān)的專利
- 英特爾汽車“折戟”,十年布局一夜歸零
- 美國議員再出“奇葩”言論!將要立法維持對華為禁令
- OCA品質(zhì)異常致Mate X推遲發(fā)布?華為除名3M
- 三星:推出折疊手機(jī)或因智能手機(jī)設(shè)計(jì)已達(dá)極限
- 曠視機(jī)器人公司創(chuàng)單倉機(jī)器人集群作業(yè)紀(jì)錄
- 擁有多功能的毫米級水母機(jī)器人問世
- Power Integrations可提供已涂覆三防漆的SCALE門極驅(qū)動(dòng)器
- CAST和Achronix使用無損壓縮IP支持從數(shù)據(jù)中心到邊緣的數(shù)據(jù)處理
- 媒體曝光華為正自研能取代Android的操作系統(tǒng)
- 安森美半導(dǎo)體發(fā)布2018年第1季度業(yè)績
- Google2018開發(fā)者大會將至:這些亮點(diǎn)值得期待
- 獎(jiǎng)品樹莓派使用RASPBMC看片子
- 兩個(gè)單片機(jī)共用同一個(gè)時(shí)鐘
- linux內(nèi)核2.4版源代碼分析大全
- 光無線通信系統(tǒng)技術(shù)探析
- 拒絕白嫖,開源項(xiàng)目作者刪庫跑路,數(shù)千個(gè)應(yīng)用程序無限輸出亂碼
- msp430BBSjin經(jīng)典問答
- 請教PCI moden卡驅(qū)動(dòng)的編寫.卡在一個(gè)地方了求解
- 尋線傳感器
- PIC16F73的PORTA在設(shè)置為模擬量輸入口后,如何再設(shè)置為數(shù)字I/O口?
- 2007年全國大學(xué)生電子設(shè)計(jì)競賽 電源類題目推測