娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月25日(星期五)

正在發生

2021年10月25日 | mini2440上dm9000驅動分析(二)

發布者:SerendipityRose 來源: eefocus關鍵字:mini2440  dm9000  驅動分析 手機看文章 掃描二維碼
隨時隨地手機看文章

二、下面說一下 mini2440_dm9k_resource 中的幾個地址是怎么計算得來的。地址的計算在驅動移植中也是一個重要的部分。地址的計算在網上的博客中很少有介紹的,自己看了很久才琢磨明白。


DM9000  MINI2440 功能描述

SD0   DATA0  數據信號

 |           |

SD15  DATA15  數據信號

CMD  ADDR2  識別為地址還是數據

INT   EINT7  中斷

IOR#   nOE   讀命令使能

IOW#  nWE   寫命令使能

AEN   nGCS4  片選使能


1. dm9000的使能管教AEN與nGCS4相連,nGCS4從2440的數據手冊中可以看到,它對應的地址就是從0x20000000開始的。 0x300 是從dm9000的數據手冊中得來的,手冊中講到dm9000的IO有8個起始地址偏移0x300、0x310、0x320...0x370,不知為何這里用的是0x300.


2. 上面的resource array中,第0項是代表io_addr,addr2為0的話,正好對應到addr2addr1addr0 是 3-0這個范圍,也就是第0項.end 是 +3 的原因。同理,可以得到為什么io_data是4 ~7


3. 讀寫dm9000的寄存器時,都是分兩步進行操作。先寫地址,即向io_addr寫入希望操作的dm9000的寄存器的地址,然后下一步在進行讀取或者寫入的操作。第一步是在io_addr操作,第二步是在io_data操作。這兩個連續的步驟,乍一看好像是明白的,但是仔細想又想不明白這樣操作的理由


三、 接下來看dm9000_open(struct net_device *dev) 函數。


/*

 *  Open the interface.

 *  The interface is opened whenever "ifconfig" actives it.

 */

static int

dm9000_open(struct net_device *dev)

{

board_info_t *db = netdev_priv(dev);

unsigned long irqflags = db->irq_res->flags & IRQF_TRIGGER_MASK;

 

if (netif_msg_ifup(db))

dev_dbg(db->dev, "enabling %sn", dev->name);

 

/* If there is no IRQ type specified, default to something that

* may work, and tell the user that this is a problem */

 

if (irqflags == IRQF_TRIGGER_NONE)

dev_warn(db->dev, "WARNING: no IRQ resource flags set.n");

 

irqflags |= IRQF_SHARED;

 

if (request_irq(dev->irq, &dm9000_interrupt, irqflags, dev->name, dev))

return -EAGAIN;

 

/* Initialize DM9000 board */

dm9000_reset(db);

dm9000_init_dm9000(dev);

 

/* Init driver variable */

db->dbug_cnt = 0;

 

mii_check_media(&db->mii, netif_msg_link(db), 1);

netif_start_queue(dev);

dm9000_schedule_poll(db);

 

return 0;

}


在這個函數中,申請中斷資源,dm9000只有一個中斷號,產生兩種中斷:收到包、發送完畢。netif_start_queue表示允許上層進行發包,dm9000_schedule_poll表示 開始周期性額調用dm9000_poll_work.前面在probe函數中, 只是初始化了phy_poll函數,在open函數中,才開始調用,這也才更符合情理。這里我們看到了mii_check_media函數,如果我們將這里的這個函數注銷掉,會發生什么情況?經檢測,這里將mii_check_media注銷后,對驅動并沒有明顯的影響。在m9000_poll_work函數中注銷了mii_check_media,驅動也不受影響。


問題:1.  struct device,  net_device 分別的應用場合是什么,好像net_device是與sysfs打交道更多。 ?          


2.  每次insmod 驅動時,都會顯示下面的log,為什么會多次調用dm9000_hash_table這個函數呢?是網絡的哪部分函數調用的?                        


3. dm9000 dm9000: entering dm9000_init_dm9000                   dm9000 dm9000: entering dm9000_hash_table                      dm9000 dm9000: entering dm9000_hash_table                    加載模塊時,會顯示多次進入dm9000_hahs_table這個函數,這是在哪里調用的?

關鍵字:mini2440  dm9000  驅動分析 引用地址:mini2440上dm9000驅動分析(二)

上一篇:mini2440 I2C驅動的分析與學習(一)
下一篇:mini2440上dm9000驅動分析(一)

推薦閱讀

聯發科技今日宣布推出曦力P70(Helio P70)系統單芯片(SoC),其增強型AI引擎結合CPU與GPU的升級,實現了更強大的AI處理能力。超高功效的芯片組曦力P70除了升級對成像與拍攝功能的支持外,同時還提升游戲性能和先進的連接功能,以滿足最嚴苛的用戶需求。 基于今年上半年曦力P60的全球成功發布及其非凡的標志性功能,曦力P70為全功能智能手機“新高端(Ne...
#include<iom16v.h>#include<macros.h>#include"12864.h"#include"main.h"void port_init(void){DDRC=0xFF; //12864數據口,置為輸出PORTC=0xFF;en_out; //置EN輸出rw_out; //置rw輸出rs_out; //置rs輸出cs1_out;//置cs1輸出cs2_out;//置cs2輸出 }/*********12864寫命令函數***/void lcd_write_com(uchar com){ ...
盡管iPhone 12/12 Pro零售版需要23日才能陸續抵達全球消費者手中,但包括MagSafe磁吸無線充、磁吸保護殼等在內的配件已經發貨,不少用戶已提前收到。然而,翻車的事情也還是發生了。至少兩名用戶在國外社交平臺爆料,到貨的原裝磁吸保護殼尷尬了,底部Lightning接口兩側居然沒有預留喇叭和麥克風開孔。在蘋果官方技術庫中,閃電接口的兩側分別包含了內置...
近年來,AIoT技術不斷積累與升級,加之海內外多因素驅動,處于不同發展水平的領域和行業交替式地不斷推進AIoT產業鏈逐漸完善和發展成熟,帶動了全球AIoT行業整體呈現爆發式增長態勢。尤其是在疫情沖擊期間,除了在線辦公外,全球還出現了云上課、云賣房、云賣車、云養殖等方式的改變,讓更多人意識到AIoT的重要性,這也加快推動進入了“云時代”。解決互聯...

史海拾趣

問答坊 | AI 解惑

機器人講座 第四講

本帖最后由 paulhyde 于 2014-9-15 09:01 編輯 …

查看全部問答∨

樓道廣告機資料

• 人體感應功能;• 感應器感應方向 180 度可調;• 感應到人體信號即點亮燈泡并播放當前時間和廣告語音;• 即時報時功能;• 可存儲 4 段廣告語音,廣告語音觸發后循環播報;• 廣告語音播放聲音清晰; ...…

查看全部問答∨

交警執法用測速設備的工作原理和檢定方法詳述

一、測速設備綜述:     交警執法用的測速設備包括流動式的雷達測速儀和固定安裝在道路上的機動車超速自動監測系統。本文所稱測速設備,主要指固定安裝于道路上的機動車超速自動監測系統。     (一)流動式雷達測速儀: &n ...…

查看全部問答∨

IGBT 關斷內阻有多大?

IGBT 關斷內阻有多大,目前我有一個設計需要評估IGBT關斷內阻?!?

查看全部問答∨

mobile6有沒有支持中文的模擬器?

RT。 設備是支持中文的,也準備寫中文的軟件。 但從micro下載的模擬器不支持中文, 有沒有可以支持中文的模擬器???…

查看全部問答∨

關于430放449用IO口模擬串口的下降沿捕獲問題

大家好,我想請教一個問題。我用430f449的2.0和2.1口來模擬串口,2.0做輸出,2.1做輸入。把2.1的SEL打開,然后用TIMERB0來做接收起始位下降沿的捕獲,用外接的32.768K晶振的ACLK做TIMERB0的時鐘源。TBCCTL0的控制字是TBCCTL0 = OUTMOD_0 + CCIE + C ...…

查看全部問答∨

幫忙看看24c64程序哪出問題了

#include "MSP430F5438A.H"#define uchar unsigned char #define uint unsigned int#define at2464_PIN P9OUT#define at2464_RED P9IN#define at2464_DIR P9DIR#define at2464_SCL_H at2464_PIN|=BIT1#define at2464_SCL_L at2464_PIN ...…

查看全部問答∨

我是一個小白,我需要大牛的關懷—430的ADC使用

學校需要做一個小項目,目的就是給我一個正弦波,需要用msp430f149測量它的峰峰值,有效值和頻率。我剛上手幾天,手冊看得一知半解,過于測量有效值的程序,思考了半天未果。疑問如下:1.ADC先做采樣保持再做轉換,時間沒有重疊的嗎?2.MEMORY里面 ...…

查看全部問答∨

FPGA死機

自從昨天把采樣頻率倍頻到200M后,就出現死機問題。誰知道這是什么原因引起的???電源問題嗎?…

查看全部問答∨

PCB設計鋪銅/覆銅大統計

PCB覆銅的方式基本上可以分為兩種, A, flood over淹沒式覆銅:即焊盤跟GND連成一片完整的銅皮 B, 十字覆銅:即焊盤跟大片的銅皮通過細銅皮連接 請問大家用哪種多,看到此帖的,并且畫過PCB板的都回復一下: 您設計的單層板/雙層板/多層板,分 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 宁津县| 林周县| 灵武市| 麻栗坡县| 涟水县| 远安县| 房产| 堆龙德庆县| 丽江市| 孝昌县| 隆尧县| 秭归县| 瓮安县| 富川| 安溪县| 北流市| 温州市| 延川县| 宜黄县| 宝兴县| 新绛县| 诸城市| 会泽县| 迁西县| 柳河县| 上犹县| 宁乡县| 凯里市| 新源县| 灵寿县| 稷山县| 塘沽区| 红河县| 龙川县| 平江县| 凤台县| 蒙城县| 克东县| 盐城市| 武川县| 澜沧|