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

u-boot-2009.08在mini2440上的移植 增加I2C EEPROM功能

發布者:幸福如意最新更新時間:2024-07-01 關鍵字:u-boot  mini2440  移植  I2C 手機看文章 掃描二維碼
隨時隨地手機看文章

移植環境

1,主機環境:VMare下CentOS 5.5 ,1G內存。

2,集成開發環境:Elipse IDE

3,編譯編譯環境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。

4,開發板:mini2440,2M nor flash,128M nand flash。

5,u-boot版本:u-boot-2009.08

6,參考文章:

10.1,實現u-boot的I2C EEPROM功能

mini2440開發板上的AT24C08A芯片提供了8kbyte的非易失的EEPROM存儲空間,而且是通過I2C協議進行讀寫的,U-boot提供了對I2C和EEPROM的操作支持。

打開/include/configs/mini2440.h,定位到206行附近,加入宏定義:
/*
 * SD Card support
 * */
#if 1
#define CONFIG_CMD_MMC
#define CONFIG_MMC  1
#define CONFIG_MMC_S3C 1 /* Enabling the MMC driver */
#define CFG_MMC_BASE  0xff000000
#endif

/**
 * I2C and EEPROM support
 */
#if 1
#define CONFIG_CMD_EEPROM
#define CONFIG_CMD_I2C

#define CONFIG_DRIVER_S3C24X0_I2C    1    /* we use the buildin I2C controller */
#define CONFIG_HARD_I2C    1        /* I2C with hardware support */

#define CONFIG_SYS_I2C_SPEED        100000    /* I2C speed and slave address */
#define CONFIG_SYS_I2C_SLAVE        0x7F

#define CONFIG_SYS_I2C_EEPROM_ADDR        0x50    /* EEPROM at24c08        */
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN     1    /* Bytes of address        */
/* mask of address bits that overflow into the 'EEPROM chip address'    */
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW    0x07
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4    /* The Catalyst CAT24WC08 has    */
                    /* 16 byte page write mode using*/
                    /* last 4 bits of the address    */
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS    10   /* and takes up to 10 msec */
#define CONFIG_SYS_EEPROM_PAGE_WRITE_ENABLE

//#define CONFIG_ENV_IS_IN_EEPROM    1    /* use EEPROM for environment vars */
//#define CONFIG_ENV_OFFSET       0x000    /* environment starts at offset 0 */
//#define CONFIG_ENV_SIZE         0x400    /* 1KB  */

#endif

10.2,重新編譯測試

待編譯完成后,nor檔下載nand檔啟動,操作如下:

[u-boot@MINI2440]# help i2c
i2c - I2C sub-system

Usage:
i2c speed [speed] - show or set I2C bus speed
i2c md chip address[.0, .1, .2] [# of objects] - read from I2C device
i2c mm chip address[.0, .1, .2] - write to I2C device (auto-incrementing)
i2c mw chip address[.0, .1, .2] value [count] - write to I2C device (fill)
i2c nm chip address[.0, .1, .2] - write to I2C device (constant address)
i2c crc32 chip address[.0, .1, .2] count - compute CRC32 checksum
i2c probe - show devices on the I2C bus
i2c reset - re-init the I2C Controller
i2c loop chip address[.0, .1, .2] [# of objects] - looping read of device
[u-boot@MINI2440]# i2c speed
Current bus speed=100000
[u-boot@MINI2440]# i2c probe
Valid chip addresses: 50 51 52 53
[u-boot@MINI2440]# i2c

在上面的mini2440.h文件中, CONFIG_ENV_IS_IN_EEPROM 是注釋掉的,如果想將環境變量保存的位置設置在EEPROM中,需要將nand flash的CONFIG_ENV_IS_IN_NAND  的相關幾行代碼注釋掉,將上面注釋掉的幾行代碼恢復即可。這里先不作修改了。 


關鍵字:u-boot  mini2440  移植  I2C 引用地址:u-boot-2009.08在mini2440上的移植 增加I2C EEPROM功能

上一篇:u-boot-2009.08在mini2440上的移植 增加USB功能
下一篇:Qt-embedded-linux-opensource-src-4.5.1移植到mini2440開發板技術說明

推薦閱讀最新更新時間:2025-04-17 22:44

U-Boot在FL2440上移植(三)----支持NAND Flash
一 支持NAND Flash 1. 首先在配置文件 include/config/fl2440.h 的宏 CONFIG_COMMANDS 中增加 CFG_CMD_NAND, #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_CACHE | CFG_CMD_NAND | 2.在配置文件 include/configs/fl2440.h 中增加如下3個宏 #define CFG_NAND_BASE 0 //無實際意義:基地址,在board_nand_init中重新定義 #define CFG_MAX_NAND_DEVICE 1 //NAND Flash設備數目為1
[單片機]
linux2.6.32.2 mini2440平臺移植-- 激活 RTC 驅動
RTC的英文全稱是Real-Time Clock,翻譯過來是實時時鐘芯片. RTC是PC主板上的晶振及相關電路組成的時鐘電路的生成脈沖,RTC經過8254電路的變頻產生一個頻率較低一點的OS(系統)時鐘TSC,系統時鐘每一個cpu周期加一,每次系統時鐘在系統初起時通過RTC初始化。8254本身工作也需要有自己的驅動時鐘(PIT)。 1.2.1 在初始化文件中加入 RTC 設備結構 Linux-2.6.32.2 內核對 2440 的 RTC 驅動已經十分完善了,但并未在 mach-mini2440.c 中的設備集中加入它,因此并沒有被激活,加入 RTC 結構體如下紅色字體: ;在 mini2440 設備集中加入 RTC
[單片機]
U-boot-2014.04移植MINI2440(1) 初步探索移植
友善之臂給出了一份移植U-BOOT-2010-03的移植手冊,之前也跟著做了,這次帶著分析源碼的目的再次移植一遍,整個過程借鑒友善之臂提供的手冊,韋東山老師書籍的視頻,同時參考了其他一些作者的博客,在此對他們表示感謝。 開發環境:VMWARE—Fedora14 開發板:MINI2440(64M RAM,256M NAND FLASH,2M NOR FLASH) 編譯器:arm-linux-gcc-4.3.2 U-Boot版本:U-Boot-2014.04 下載地址:ftp://ftp.denx.de/pub/u-boot/ 我移植的U-boot屬于版本比較新的了,友善之臂和網上很多帖子都是移植的U-boot-2
[單片機]
U-boot-2014.04<font color='red'>移植</font>到<font color='red'>MINI2440</font>(1) 初步探索<font color='red'>移植</font>
U-Boot補丁 S3C2440
# tar xvf u-boot-1.1.6.tar.bz2 //解壓 # cd u-boot-1.1.6/ 制作補丁文件 # diff -urN u-boot-1.1.6 u-boot-1.1.6.new u-boot-1.1.6_jz2440.patch 打補丁 # patch -p1 u-boot-1.1.6_jz2440.patch p1:忽略補丁文件第一個”/”之前的內容(也就是如下:u-boot-1.1.6) # head u-boot-1.1.6_jz2440.patch diff -urN u-boot-1.1.6/board/100ask24x0/100ask24x0.c u-boo
[單片機]
mini2440 驅動ds18b20
想著有個ds18b20,于是就寫了一個18b20的驅動。是在mini2440上面實現的。 ldd3的大師說得好,linux驅動應該盡可能多的提供機制,而不是提供策略。我覺得說得太有道理了。驅動本身就不應該涉及到太多策略問題,策略問題應該盡可能多的由應用程序去提供。作為驅動,應該盡可能多得去實現提供硬件的功能,然后留出接口給上面的應用程序調用。 其實ds18b20驅動比較簡單,無非就是在單片機驅動18b20的基礎上,家里一個字符驅動設備的外套。下面直接上代碼吧。 驅動代碼: #include linux/init.h #include linux/module.h #include linux/delay.h #
[單片機]
u-boot配置和編譯過程詳解
備注:分析的是OK210開發板自帶的uboot_smdkv210,可能有些部分和其他版本不太一樣,但是原理都類似。 編譯u-boot的步驟 make forlinx_linux_configmake1212 首先生成配置文件,然后編譯源碼,依次看看這些命令都干了些什么事情 配置過程 #forlinx addforlinx_linux_config : unconfig @$(MKCONFIG) $(@:_config=) arm s5pc11x smdkc110 samsung s5pc110 linux @echo TEXT_BASE = 0xcc800000 $(obj)board/samsung/smdkc110
[單片機]
mini2440的觸摸屏驅動----使用input子系統實現
沒說程序之前先上圖一張,這個圖方便理解input子系統下的觸摸屏的實現。 關于input子系統的實現在前幾篇博客中已經實現了input子系統的按鍵驅動。 下面開始說觸摸屏的驅動程序。 在說之前先結合上面的圖說一下幾個主要的函數的調用情況。 個中斷函數的調用次序: 先是stylus_updown TC中斷處理函數, 如果要是壓下則調用touch_timer_fire來啟動ADC轉換, 在ADC轉換結束之后調用stylus_action。 程序中前面定義的宏和變量: /* For ts.dev.id.version */ #define S3C2410TSVERSION 0x0101 /*定義一個WA
[單片機]
<font color='red'>mini2440</font>的觸摸屏驅動----使用input子系統實現
mini2440 nandflash簡單讀寫調試成功
又裸奔了兩天,把mini2440上面的nandflash(型號是K9F1G08U0C 128M*8bit)的簡單的頁讀寫和擦除操作調通了,代碼先記錄下來,復雜的nandflash操作以后有時間再說,現在能夠實現代碼的搬移已經夠了。 head.s @this is a test program of nandflash, the properties of com0 is the same as usual (115200,8, 1, n, n) .text .global _start _start: b Reset b . @undefined instruction b . @swi b
[單片機]
<font color='red'>mini2440</font> nandflash簡單讀寫調試成功
小廣播
設計資源 培訓 開發板 精華推薦

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 隆尧县| 油尖旺区| 无为县| 揭阳市| 封丘县| 长葛市| 广安市| 潞城市| 邛崃市| 高雄县| 凤阳县| 自治县| 平昌县| 成安县| 且末县| 襄汾县| 韶山市| 巴南区| 澄迈县| 介休市| 罗田县| 博乐市| 革吉县| 阿克陶县| 汾西县| 湖口县| 云霄县| 西平县| 石泉县| 大荔县| 铜川市| 永登县| 清新县| 吴川市| 商河县| 砀山县| 大埔区| 茂名市| 阿荣旗| 柳河县| 天镇县|