国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

移植u-boot-2010.03問(wèn)題 --- 網(wǎng)卡DM9000

發(fā)布者:EnchantedMagic最新更新時(shí)間:2024-10-18 來(lái)源: cnblogs關(guān)鍵字:移植  u-boot 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

1,找到u-boot-2010.03/include/configs/smdk6410.h


//#define CONFIG_NET_MULTI

//#define CONFIG_CS8900 /*we have aCS8900on-board*/

//#define CONFIG_CS8900_BASE 0x18800300

//#define CONFIG_CS8900_BUS16 /*follow the Linux driver*/


/**然后添加DM9000網(wǎng)卡的宏定義---ip以及子網(wǎng)掩碼等根據(jù)自己的需要修改***/


#defineCONFIG_NET_MULTI 1

#defineCONFIG_DM9000_NO_SROM 1

#defineCONFIG_dm9000

#defineCONFIG_DRIVER_DM9000 1

#defineCONFIG_DM9000_BASE 0x18800300

#defineDM9000_IO CONFIG_DM9000_BASE

#defineDM9000_DATA (CONFIG_DM9000_BASE+4)

#defineCONFIG_DM9000_USE_16BIT

#defineCONFIG_ETHADDR 00:40:5c:26:0a:5b

#defineCONFIG_NETMASK 255.255.255.0

#defineCONFIG_IPADDR 192.168.1.20

#defineCONFIG_SERVERIP 192.168.1.10

#defineCONFIG_GATEWAYIP 192.168.1.1

//#define CONFIG_DM9000_DEBUG


2,打開(kāi)u-boot-2010.03/net/eth.c,找到int eth_initialize(bd_t *bis)函數(shù):


#if defined(CONFIG_DB64460) || defined(CONFIG_P3Mx)

    mv6446x_eth_initialize(bis);

#endif

/**

add here

*/

#if defined(CONFIG_DRIVER_DM9000)

    dm9000_initialize(bis);

#endif

/**

add over

*/


3,打開(kāi)u-boot-2010.03/net/net.c:

第一處:

//# define ARP_TIMEOUT        5000UL    /* Milliseconds before trying ARP again */

# define ARP_TIMEOUT        5    /* Milliseconds before trying ARP again */

第二處:

//  if ((t - NetArpWaitTimerStart) > ARP_TIMEOUT) {

    if ((t - NetArpWaitTimerStart) > ARP_TIMEOUT*CONFIG_SYS_HZ) {

第三處:

//  NetSetTimeout (10000UL, PingTimeout);

    NetSetTimeout (10*CONFIG_SYS_HZ, PingTimeout);


 

4,打開(kāi)u-boot-2010.03/net/tftp.c,找到void TftpStart (void)函數(shù):


#if 0

    /*

     * Allow the user to choose TFTP blocksize and timeout.

     * TFTP protocol has a minimal timeout of 1 second.

     */

    if ((ep = getenv('tftpblocksize')) != NULL)

        TftpBlkSizeOption = simple_strtol(ep, NULL, 10);


    if ((ep = getenv('tftptimeout')) != NULL)

        TftpTimeoutMSecs = simple_strtol(ep, NULL, 10);


    if (TftpTimeoutMSecs < 1000) {

        printf('TFTP timeout (%ld ms) too low, '

            'set minimum = 1000 msn',

            TftpTimeoutMSecs);

        TftpTimeoutMSecs = 1000;

    }


    debug('TFTP blocksize = %i, timeout = %ld msn',

        TftpBlkSizeOption, TftpTimeoutMSecs);

#endif


完成后重新編譯。


5,測(cè)試網(wǎng)卡

開(kāi)發(fā)板上通過(guò)命令 printenv 查看網(wǎng)卡信息。


WU_SMDK6410 # printenv                                                          

bootargs=console=ttySAC,115200                                                  

bootcmd=nand read 0x50018000 0x60000 0x1c0000;bootm 0x50018000                  

bootdelay=10                                                                    

baudrate=115200                                                                 

ethaddr=00:40:5c:26:0a:5b                                                       

ipaddr=192.168.1.123                                                            

serverip=192.168.1.127                                                          

gatewayip=192.168.1.1                                                           

netmask=255.255.255.0                                                           

stdin=serial                                                                    

stdout=serial                                                                   

stderr=serial                                                                   

ethact=dm9000    


setenv serverip 192.168.X.XX --- 設(shè)置主機(jī)ip,該命令只是把設(shè)置保存到ram中,如果重啟的話設(shè)置會(huì)重新回到原來(lái)的設(shè)置


saveenv --- 保存到flash中。


這時(shí),我主機(jī)的ip:192.168.1.127,通過(guò)ping命令測(cè)試是否能連通:


WU_SMDK6410 # ping 192.168.1.127                                                

dm9000 i/o: 0x18800300, id: 0x90000a46                                          

DM9000: running in 16 bit mode                                                  

MAC: 00:40:5c:26:0a:5b                                                          

operating at 100M full duplex mode                                              

Using dm9000 device                                                             

host 192.168.1.127 is alive         


這里成功連通,但也有時(shí)會(huì)出現(xiàn)開(kāi)發(fā)板能ping通主機(jī),但是主機(jī)卻ping不通開(kāi)發(fā)板的奇怪現(xiàn)象,但不影響開(kāi)發(fā)板通過(guò)tftp下載主機(jī)上的文件,暫時(shí)沒(méi)想通。


關(guān)鍵字:移植  u-boot 引用地址:移植u-boot-2010.03問(wèn)題 --- 網(wǎng)卡DM9000

上一篇:移植u-boot-2010.03問(wèn)題 --- 支持dnw
下一篇:移植u-boot-2010.03問(wèn)題 --- No oob scheme defined for oobsize 32

推薦閱讀最新更新時(shí)間:2025-06-20 20:21

U-boot-2014.04移植到MINI2440(6) DM9000網(wǎng)卡移植
MINI2440上有一個(gè)DM9000網(wǎng)卡,關(guān)于這部分的驅(qū)動(dòng)其實(shí)是比較復(fù)雜的,但是u-boot對(duì)其支持比較好,我們?cè)谝浦驳臅r(shí)候只需要修改少量的代碼。這部分的代碼主要在u-boot/drivers/net/下以及mini2440.h。 一.修改mini2440.h 首先看drivers/net/Makefile,打開(kāi),第18行: obj-$(CONFIG_DESIGNWARE_ETH) += designware.o obj-$(CONFIG_DRIVER_DM9000) += dm9000x.o obj-$(CONFIG_DNET) += dnet.o 紅色部分的意思是,如果我們定義了CONFIG_DRIVE
[單片機(jī)]
u-boot 移植 --->6、引導(dǎo)Linux啟動(dòng)測(cè)試
在引導(dǎo)Linux開(kāi)機(jī)之前需要先清楚Linux啟動(dòng)的必要或者說(shuō)是先決條件,這里就是提到了u-boot的作用了引用百度云---主要用于嵌入式系統(tǒng)的引導(dǎo)加載,其實(shí)在我調(diào)試下來(lái)總結(jié)一下就是初始化硬件這里的硬件包括必要部分和不必要的部分,比如SOC的時(shí)鐘,外部RAM(DDR內(nèi)存),棧等。因?yàn)閘inux的內(nèi)核相對(duì)于SOC內(nèi)部的RAM而言還是比較龐大的,并且運(yùn)行Linux的SOC的主頻普遍是比較高的,受限于flash的訪問(wèn)速度,Linux肯定是不能像單片機(jī)的程序一樣放在片上flash運(yùn)行的,畢竟在48M以上的時(shí)候常見(jiàn)的單片機(jī)都是需要加wait以匹配CPU和flash的速度差距了。所以u(píng)-boot一定的需要先初始化好RAM(DDR)然后將linu
[單片機(jī)]
友善之臂最新版mini2440學(xué)習(xí)筆記——u-boot 1.1.6移植(一)
從本文開(kāi)始,將記錄博主在進(jìn)行u-boot 1.1.6移植過(guò)程中遇到的問(wèn)題。本文將涉及兩個(gè)問(wèn)題: 1. u-boot中添加開(kāi)發(fā)板 2. u-boot第一階段啟動(dòng)代碼 1. u-boot中添加開(kāi)發(fā)板 1.1. Makefile更改 1.1.1. 增加反匯編文件輸出 Makefile文件中239行,源文件為: ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) 更改為: ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(obj)u-boot.dis $
[單片機(jī)]
mini2440開(kāi)發(fā)板 u-boot 移植
本實(shí)驗(yàn)所用的u-boot源碼包,是國(guó)嵌提供的u-boot-2008.10 1.解壓源碼包 命令:tar jxvf u-boot-2008.10.tar.bz2 2.在頂層的Makefile中找到 smdk2410_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0 參照此方法,添加: mini2440_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t mini2440 NULL s3c24x0 3.修改/cpu/arm920t/star
[單片機(jī)]
U-BOOT的啟動(dòng)流程及移植
摘要:嵌入式系統(tǒng)一般沒(méi)有通用的bootloader,u-boot是功能強(qiáng)大的bootloader開(kāi)發(fā)軟件,但相對(duì)也比較復(fù)雜。文中對(duì)u-boot的啟動(dòng)流程作了介紹,詳細(xì)給出了u-boot在S3C44B0開(kāi)發(fā)板上的移植方法和步驟。 關(guān)鍵詞:bootloader;u-boot;嵌入式系統(tǒng);移植;S3C44B0 1 Bootloader及u-boot簡(jiǎn)介 Bootloader 代碼是芯片復(fù)位后進(jìn)入操作系統(tǒng)之前執(zhí)行的一段代碼,主要用于完成由硬件啟動(dòng)到操作系統(tǒng)啟動(dòng)的過(guò)渡,從而為操作系統(tǒng)提供基本的運(yùn)行環(huán)境,如初始化CPU、 堆棧、存儲(chǔ)器系統(tǒng)等。Bootloader 代碼與CPU 芯片的內(nèi)核結(jié)構(gòu)、具體型號(hào)、應(yīng)用系統(tǒng)的配置及使用的操作系統(tǒng)等
[應(yīng)用]
OK6410A 開(kāi)發(fā)板 (三) 17 u-boot-2021.01 boot 解析 U-boot 鏡像運(yùn)行部分 串口
u-boot 階段 lowlevel_init 調(diào)用了以下函數(shù) 實(shí)現(xiàn)了 putc ,但不支持 printf spl_config_uart_baudrate uart_asm_init asm_putc board_init_f 調(diào)用了以下函數(shù),完成后,支持printf initf_dm init_baud_rate // 查找 環(huán)境變量 baudrate gd- baudrate = env_get_ulong( baudrate , 10, 115200); serial_init // 重新設(shè)置了一下波特率 serial_find_console_or_panic g
[單片機(jī)]
04-S3C2440u-boot學(xué)習(xí)之u-boot分析(1)編譯體驗(yàn)
U-Boot,全稱 Universal Boot Loader,是遵循GPL條款的開(kāi)放源碼項(xiàng)目。U-Boot的作用是系統(tǒng)引導(dǎo)。 U-Boot從FADSROM、8xxROM、PPCBOOT逐步發(fā)展演化而來(lái)。其源碼目錄、編譯形式與Linux內(nèi)核很相似,事實(shí)上,不少U-Boot源碼就是根據(jù)相應(yīng)的Linux內(nèi)核源程序進(jìn)行簡(jiǎn)化而形成的,尤其是一些設(shè)備的驅(qū)動(dòng)程序,這從U-Boot源碼的注釋中能體現(xiàn)這一點(diǎn)。 程序執(zhí)行流程: (1)一上電,運(yùn)行bootloader (2)讀出內(nèi)核,啟動(dòng)內(nèi)核--最主要目的 (3)掛接根文件系統(tǒng),運(yùn)行里面應(yīng)用程序 (1)使用 linux-2.6.22.6_jz2440.patch給linux
[單片機(jī)]
04-S3C2440u-boot學(xué)習(xí)之<font color='red'>u-boot</font>分析(1)編譯體驗(yàn)
04-S3C2440u-boot學(xué)習(xí)之u-boot分析(3)之源碼第1、2階段
參考《韋東山1期視頻》第09課第3節(jié) u-boot分析之源碼第1階段.WMV 一:第一階段 (1)打開(kāi)u-boot-1.1.6_JZ2440cpuarm920tstart.S _start: b reset(跳轉(zhuǎn)到reset): 1.設(shè)置SVC32 模式; reset: /* * set the cpu to SVC32 mode */ mrs r0,cpsr bic r0,r0,#0x1f orr r0,r0,#0xd3 msr cpsr,r0 2.關(guān)看門狗; /* turn off the watchdog */ #if defined(CON
[單片機(jī)]
04-S3C2440u-boot學(xué)習(xí)之<font color='red'>u-boot</font>分析(3)之源碼第1、2階段
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved