亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? uclinux2.4.24在s3c44b0x開發(fā)板的移植重點總結(jié).txt

?? 關(guān)于 linux 的開發(fā), 主要介紹啦linux下開發(fā)的重要細(xì)節(jié)地方
?? TXT
?? 第 1 頁 / 共 2 頁
字號:

修改文件:uClinux-dist/linux-2.4.x/arch/armnommu/config.in
修改內(nèi)容:
define_bool CONFIG_NO_PGT_CACHE y
define_bool CONFIG_CPU_WITH_CACHE y
define_bool CONFIG_CPU_WITH_MCR_INSTRUCTION n
- define_int CONFIG_ARM_CLK 60000000
- define_bool CONFIG_SERIAL_S3C44B0X y
- define_int CONFIG_FORCE_MAX_ZONEORDER 5
+ define_int CONFIG_ARM_CLK 64000000 #72000000 
+# define_bool CONFIG_SERIAL_S3C44B0X y
+# define_int CONFIG_FORCE_MAX_ZONEORDER 5
if [ "$CONFIG_SET_MEM_PARAM" = "n" ]; then
- define_hex DRAM_BASE 0x00000000
+ define_hex DRAM_BASE 0x0C000000
define_hex DRAM_SIZE 0x00800000
- define_hex FLASH_MEM_BASE 0x01000000
+ define_hex FLASH_MEM_BASE 0x00000000
define_hex FLASH_SIZE 0x00200000
fi
fi
……
說明:
修改了對ARM處理器主頻的定義:
define_int CONFIG_ARM_CLK 64000000
修改了存儲器大小和起始地址的定義:
define_hex DRAM_BASE 0x0C000000;SDRAM的起始地址
define_hex DRAM_SIZE 0x00800000;SDRAM的大小
define_hex FLASH_MEM_BASE 0x00000000;flash的起始地址
define_hex FLASH_SIZE 0x00200000;flash的大小

4.3內(nèi)核起始地址的修改

修改文件:uClinux-dist/linux-2.4.x/arch/armnommu/Makefile
修改內(nèi)容:
ifeq ($(CONFIG_BOARD_MBA44),y)
-TEXTADDR = 0x0c000000
+TEXTADDR = 0x0c008000
MACHINE = S3C44B0X
INCDIR = $(MACHINE)
-CORE_FILES := $(CORE_FILES) romfs.o
+CORE_FILES := $(CORE_FILES) #romfs.o
endif
說明:
TEXTADDR:內(nèi)核的起始地址,通常取值:DRAM_BASE+0x8000。

4.4ROM文件系統(tǒng)的定位修改

修改文件:uClinux-dist/linux-2.4.x/drivers/block/blkmem.c
修改內(nèi)容:
+#ifdef CONFIG_BOARD_MBA44
+ {0, 0xc700000, -1},/*{0, 0x100000, -1},*/
#endif
說明:將ROM file system在SDRAM中的地址定位在0xc700000。

4.5修改存儲空間配置

修改文件:uClinux-dist/linux-2.4.x/include/asm-armnommu/arch-S3C44B0X/memory.h
修改內(nèi)容:
-#define PHYS_OFFSET (DRAM_BASE + 2*1024*1024)
+#define PHYS_OFFSET (DRAM_BASE)//(DRAM_BASE + 2*1024*1024)
#define PAGE_OFFSET (PHYS_OFFSET)
-#define END_MEM (DRAM_BASE + DRAM_SIZE - 2*1024*1024)
+#define END_MEM (DRAM_BASE+DRAM_SIZE)//(DRAM_BASE + DRAM_SIZE - 2*1024*1024)
說明:PHYS_OFFSET:RAM第一個bank的起始地址。

4.6初始化節(jié)拍定時器

修改文件:uClinux-dist/linux-2.4.x/include/asm-armnommu/arch-S3C44B0X/time.h
修改內(nèi)容:
-extern void s3c44b0x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+//extern void s3c44b0x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static inline void s3c44b0x_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+{
+ do_leds();
+ do_timer(regs);
+}//modified by hzh

/* TODO: THE, 2003-08-13, do timer setup like in eCos */
-#define S3C44B0X_TIMER5_PRESCALER 16
+#define S3C44B0X_TIMER5_PRESCALER 32 

extern __inline__ void setup_timer (void)
{
u_int32_t tmod;
u_int32_t period;
+ __u32 rw_tmp;

period = (CONFIG_ARM_CLK/S3C44B0X_TIMER5_PRESCALER)/HZ;
outl(period, S3C44B0X_TCNTB5);
@@ -36,8 +42,14 @@
outl(tmod, S3C44B0X_TCON);

/* initialize the timer period and prescaler */
- outl((5-1) << 16, S3C44B0X_TCFG0);
- outl( (0x3 <<20), S3C44B0X_TCFG1); /* prescaler */
+ rw_tmp = inl(S3C44B0X_TCFG0);
+ rw_tmp &= ~(0xff<<16);
+ rw_tmp |= (16-1)<<16;
+ outl(rw_tmp, S3C44B0X_TCFG0); // prescaler = 1/16
+ rw_tmp = inl(S3C44B0X_TCFG1);
+ rw_tmp &= ~(0xf<<20);
+ rw_tmp |= 0<<20;
+ outl(rw_tmp, S3C44B0X_TCFG1); // mux = 1/2
說明:這里,uClinux使用了S3C44B0X的內(nèi)部定時器5,并利用定時器5的中斷來產(chǎn)生節(jié)拍。

4.7定義二級異常中斷矢量表的起始地址

修改文件:uClinux-dist/linux-2.4.x/include/asm-armnommu/proc/system.h
修改內(nèi)容:
+#ifdef CONFIG_BOARD_MBA44
+#undef vectors_base()
+#define vectors_base() (DRAM_BASE)
+#endif
說明:vectors_base()定義了二級異常中斷矢量表的起始地址,這個地址與Bootloader中的_IRQ_BASEADDRESS相對應(yīng)。

4.8定義CPU體系結(jié)構(gòu)和交叉編譯器

修改文件:uClinux-dist/linux-2.4.x/Makefile
修改內(nèi)容:
-# ARCH := armnommu
+ARCH := armnommu
# ARCH := m68knommu
# ARCH := h8300
# ARCH := niosnommu
……
HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

# CROSS_COMPILE = m68k-elf-
-# CROSS_COMPILE = arm-elf-
+CROSS_COMPILE = arm-elf-
# CROSS_COMPILE = h8300-elf-
# CROSS_COMPILE = nios-elf-
# CROSS_COMPILE = e1-coff-
說明:這里定義了CPU體系結(jié)構(gòu):ARCH := armnommu和對應(yīng)的交叉編譯器名稱:CROSS_COMPILE = arm-elf-。

4.9以太網(wǎng)卡寄存器地址的偏移量修改

這里針對ARMSYS的硬件結(jié)構(gòu),要做兩處特殊的修改:
修改文件:uClinux-dist/linux-2.4.x/driver/net/8390.h
修改內(nèi)容:#define ETH_ADDR_SFT 8
說明:訪問RTL8019內(nèi)部寄存器地址的偏移量。

4.10以太網(wǎng)設(shè)備基地址修改

修改文件:uClinux-dist/linux-2.4.x/driver/net/ne.c
修改內(nèi)容:dev->base_addr = base_addr = 0x08000000;
說明:修改了以太網(wǎng)設(shè)備的基地址。

5.移植的步驟

5.1解壓uClinux-dist發(fā)行包

到以下地址下載uClinux-dist-20040408.tar.gz源代碼包:
http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20040408.tar.gz
該版本在很多方面比早先的20030522版本要完善很多,這也使我們的移植工作變得方便很多。其中使用的內(nèi)核版本是Linux 2.4.24。
以下工作在裝有Linux操作系統(tǒng)(例如RedHat9.0)的PC機(jī)上進(jìn)行。
將uClinux-dist-20040408.tar.gz拷貝到/home/下(或者其它目錄都可以),運(yùn)行解壓命令: 
tar xvzf uClinux-ARMSYS-20040801.tar.gz

解壓結(jié)束后會在/home/下生成uClinux-dist目錄。

5.2安裝補(bǔ)丁

到以下地址下載補(bǔ)丁文件:
http://www.hzlitai.com.cn/download/uClinux-20040408-ARMSYS.rar
解壓后產(chǎn)生patch文件,安裝patch文件:

patch –p1 < uClinux-20040408-ARMSYS.patch

安裝過程中可能會出現(xiàn)一些錯誤信息,可以手動地按照patch文件的內(nèi)容在指定的文件處進(jìn)行修改一下。

6.配置與編譯

6.1安裝編譯環(huán)境

到以下地址下載arm-elf工具鏈:
http://www.uclinux.org/pub/uClinux/m68k-elf-tools/arm-elf-tools-20030314.sh
將arm-elf-tools-20030314.sh拷貝到根目錄,運(yùn)行安裝:

sh arm-elf-tools-20030314.sh

6.2內(nèi)核配置

下面就可以開始配置uClinux的內(nèi)核和用戶選項了。打開終端。
# cd /home/uClinux-dist
# make menuconfig

進(jìn)入uClinux配置(uClinux v3.1.0 Configuration),選中“Kernel/Library/Defaults Selectionà”敲空格進(jìn)入。其中有兩個選項:定制內(nèi)核設(shè)置和定制用戶選項設(shè)置:
[*] Customize Kernel Settings
[ ] Customize Vendor/User Settings

選中定制內(nèi)核設(shè)置選項,按下ESC鍵退出,在詢問是否保存時,選擇Yes并回車。
終端將首先進(jìn)入內(nèi)核配置選單。我們在配置uClinux內(nèi)核時,就可以通過對這些選項的選擇和取消選擇來設(shè)定內(nèi)核所具有的功能項。這也是裁減uClinux內(nèi)核的基本方法。
每個選項都對應(yīng)著一個宏定義,make menuconfig執(zhí)行結(jié)束后,自動將配置結(jié)果保存為.config文件,將前一次的配置結(jié)果備份為.config.old文件。
讀者可到http://www.hzlitai.com.cn/download/linux/8019/kernelconfig_eth 處下載內(nèi)核配置文件(其中包括對網(wǎng)卡驅(qū)動的配置),讀者可對照進(jìn)行配置。

6.3交叉編譯

按下面的步驟對uClinux源碼包進(jìn)行編譯:
# make dep
# make clean (非必要)
# make lib_only
# make user_only
# make romfs
# make image
# make
初次移植時,在make lib_only到make這5步編譯過程中很可能產(chǎn)生錯誤,無法繼續(xù)下去。如果產(chǎn)生了錯誤,可以嘗試根據(jù)報告的錯誤內(nèi)容修改一下源程序,這一過程將有助于你熟悉uClinux內(nèi)核源程序的結(jié)構(gòu),或者可以跟我們聯(lián)系 Support@hzlitai.com.cn 。 
交叉編譯成功后,在uClinux-dist/目錄下產(chǎn)生images目錄,其中包含的3個文件:image.ram, image.rom和romfs.img就是我們可以使用的二進(jìn)制文件。參考《uClinux的移植包在ARMSYS上的使用說明》的方法,下載或燒錄這些二進(jìn)制文件,并啟動運(yùn)行uClinux。

7.啟動信息

正確啟動信息的例子如下:
Linux version 2.4.24-uc0 (root@localhost) (gcc 
version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes 
.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/ 
)) #165 五 10月 8 20:04:10 CST 2004 
Processor: Samsung S3C44B0X revision 0 
Architecture: S3C44B0X 
On node 0 totalpages: 2048 
zone(0): 0 pages. 
zone(1): 2048 pages. 
zone(2): 0 pages. 
Kernel command line: root=/dev/rom0 init=/linuxrc 
Calibrating delay loop... 31.84 BogoMIPS 
Memory: 8MB = 8MB total 
Memory: 6592KB available (1270K code, 155K data, 40K init) 
Dentry cache hash table entries: 1024 (order: 1, 8192 bytes) 
Inode cache hash table entries: 512 (order: 0, 4096 bytes) 
Mount cache hash table entries: 512 (order: 0, 4096 bytes) 
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) 
Page-cache hash table entries: 2048 (order: 1, 8192 bytes) 
POSIX conformance testing by UNIFIX 
Linux NET4.0 for Linux 2.4 
Based upon Swansea University Computer Society NET3.039 
Initializing RT netlink socket 
Starting kswapd 
ttyS0 at I/O 0x1d00000 (irq = 3) is a S3C44B0 
ttyS1 at I/O 0x1d04000 (irq = 2) is a S3C44B0 
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com) 
Last modified Nov 1, 2000 by Paul Gortmaker 
NE*000 ethercard probe at 0x8000000: 00 00 e8 12 34 56 
eth0: NE1000 found at 0x8000000, using IRQ 22 
Blkmem copyright 1998,1999 D. Jeff Dionne 
Blkmem copyright 1998 Kenneth Albanowski 
Blkmem 1 disk images: 
0: C400000-C47CBFF [VIRTUAL C400000-C47CBFF] (RO) 
RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize 
NET4: Linux TCP/IP 1.0 for NET4.0 
IP Protocols: IC 
IP: routing cache hash table of 512 buckets, 4Kbytes 
TCP: Hash tables configured (established 512 bind 512) 
VFS: Mounted root (romfs filesystem) readonly. 
Freeing init memory: 40K 
Shell invoked to run file: /etc/rc 
Command: hostname Samsung 
Command: /bin/expand /etc/ramfs.img /dev/ram0 
Command: mount -t proc proc /proc 
Command: mount -t ext2 /dev/ram0 /var 
Command: mkdir /var/config 
Command: mkdir /var/tmp 
Command: mkdir /var/log 
Command: mkdir /var/run 
Command: mkdir /var/lock 
Command: cat /etc/motd 
Welcome to 
____ _ _ 
/ __| ||_| 
_ _| | | | _ ____ _ _ _ _ 
| | | | | | || | _ \| | | |\ \/ / 
| |_| | |__| || | | | | |_| |/ \ 
| ___\____|_||_|_| |_|\____|\_/\_/ 
| |
|_|

For further information check:
http://www.uclinux.org/

Command: ifconfig lo 127.0.0.1
Command: route add -net 127.0.0.0 netmask 255.255.255.0 lo
Command: ifconfig eth0 192.168.253.2 netmask 255.255.255.0 up
Execution Finished, Exiting

Sash command shell (version 1.1.1)
/>
出現(xiàn)以上信息后,可以嘗試從鍵盤輸入ls、ping命令,來查看系統(tǒng)的運(yùn)行情況。我們還建議讀者按照uClinux-dist\ Documentation下的Adding-User-Apps-HOWTO文檔編寫一個簡單的Helloworld應(yīng)用程序,看是否能夠正確運(yùn)行。

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜电影网| 精品精品国产高清a毛片牛牛 | 亚洲成av人**亚洲成av**| 日韩视频免费观看高清在线视频| 成人污污视频在线观看| 日本午夜精品视频在线观看| 国产精品高潮久久久久无| 欧美一区二区免费观在线| 91久久香蕉国产日韩欧美9色| 韩国三级中文字幕hd久久精品| 亚洲色图欧洲色图婷婷| 久久久美女艺术照精彩视频福利播放| 欧美日韩国产区一| 一本大道久久a久久综合| 成人亚洲一区二区一| 美女视频黄免费的久久| 亚洲国产欧美日韩另类综合 | 91精品国产麻豆| 色哟哟一区二区| 国产毛片精品视频| 奇米影视一区二区三区| 亚洲国产成人av| 亚洲免费av观看| 国产精品久久久一本精品| 久久影院电视剧免费观看| 欧美一二区视频| 7777精品伊人久久久大香线蕉的 | 欧美性一级生活| 色综合色综合色综合色综合色综合| 国产超碰在线一区| 国产精品中文字幕日韩精品| 久久99这里只有精品| 日韩和的一区二区| 天堂成人国产精品一区| 亚洲18女电影在线观看| 亚洲成人动漫在线免费观看| 樱花草国产18久久久久| 亚洲精品视频自拍| 亚洲精品写真福利| 亚洲大片在线观看| 亚洲成人777| 日日噜噜夜夜狠狠视频欧美人| 天涯成人国产亚洲精品一区av| 五月天一区二区| 日韩精品色哟哟| 久久精品国内一区二区三区| 激情综合五月天| 国产精品一二三在| 成人高清在线视频| 99re这里只有精品首页| 色综合夜色一区| 欧美精选在线播放| 欧美大片拔萝卜| 国产日韩影视精品| 亚洲欧美一区二区三区极速播放| 亚洲免费在线看| 亚洲成a人v欧美综合天堂| 视频一区欧美日韩| 国产一区二区三区在线观看精品| 国产成人综合亚洲网站| 99国产精品一区| 在线播放中文一区| www国产成人| 亚洲日本电影在线| 五月婷婷色综合| 国产乱理伦片在线观看夜一区| www.视频一区| 91精品久久久久久蜜臀| 26uuu精品一区二区| 成人免费一区二区三区在线观看| 亚洲一区欧美一区| 国产制服丝袜一区| 91麻豆123| 日韩欧美综合在线| 亚洲视频在线一区观看| 日本va欧美va精品| 成人激情免费电影网址| 欧美视频完全免费看| 精品国产乱码久久| 亚洲精品日韩专区silk| 久久爱另类一区二区小说| 91视频观看视频| 日韩欧美一级片| 一区二区三区欧美日| 久久99精品久久久久久动态图| 成人av一区二区三区| 日韩亚洲欧美在线| 最新日韩在线视频| 激情偷乱视频一区二区三区| 91久久精品日日躁夜夜躁欧美| 欧美va日韩va| 一区二区三区产品免费精品久久75| 蜜桃久久久久久久| 欧美性猛片aaaaaaa做受| 久久午夜羞羞影院免费观看| 亚洲无线码一区二区三区| 床上的激情91.| 精品三级在线看| 亚洲国产成人av| 91麻豆文化传媒在线观看| 久久综合狠狠综合久久激情| 亚洲午夜在线观看视频在线| 成人av第一页| 久久久久久电影| 久久精品国产亚洲a| 欧美三级韩国三级日本三斤| 中文字幕一区二区三区四区| 狠狠网亚洲精品| 欧美一级欧美一级在线播放| 亚洲精品亚洲人成人网| 成人午夜伦理影院| 精品成人免费观看| 日本大胆欧美人术艺术动态| 91成人在线免费观看| 国产精品久久一卡二卡| 成人妖精视频yjsp地址| 久久久久久久精| 国产一区二三区| 精品国产99国产精品| 免费看日韩精品| 欧美伦理影视网| 亚洲r级在线视频| 欧美日韩高清影院| 亚洲国产一区二区在线播放| 9久草视频在线视频精品| 国产精品美女视频| 国产黄色成人av| 久久人人97超碰com| 韩国视频一区二区| 久久综合给合久久狠狠狠97色69| 久久国产精品99久久人人澡| 在线综合+亚洲+欧美中文字幕| 亚洲一区二区三区四区五区中文| 一本色道久久综合狠狠躁的推荐| 亚洲免费在线视频| 色狠狠色狠狠综合| 亚洲精品成人在线| 欧美性受xxxx黑人xyx| 亚洲第一狼人社区| 91麻豆精品国产91久久久久久 | 日韩精品一区在线观看| 日韩福利电影在线观看| 欧美久久久久久久久| 日本美女一区二区| 精品国产乱码久久久久久闺蜜 | 国产伦理精品不卡| 久久久电影一区二区三区| 国产宾馆实践打屁股91| 国产精品欧美久久久久一区二区| 成人午夜视频福利| 日韩美女视频一区| 欧美日韩一级片在线观看| 日韩激情视频在线观看| 2021国产精品久久精品| 国产91精品一区二区麻豆亚洲| 国产精品无人区| 日本精品免费观看高清观看| 首页亚洲欧美制服丝腿| 精品免费国产一区二区三区四区| 成人综合婷婷国产精品久久 | 欧美激情在线看| 91美女片黄在线观看| 天堂一区二区在线| 国产婷婷色一区二区三区四区| 99国产麻豆精品| 日韩和欧美一区二区三区| 国产丝袜欧美中文另类| 一本大道av一区二区在线播放| 五月激情丁香一区二区三区| 精品国产成人系列| 日本久久电影网| 国产一区二区三区在线观看免费视频| **性色生活片久久毛片| 日韩欧美自拍偷拍| heyzo一本久久综合| 天堂在线一区二区| 国产精品久久久久婷婷| 91精品国产综合久久精品app| 国产成人精品1024| 午夜免费欧美电影| 国产精品天美传媒沈樵| 日韩一区和二区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产a视频精品免费观看| 亚洲影院在线观看| 日韩一级二级三级| 91视频免费观看| 国产露脸91国语对白| 三级欧美在线一区| 亚洲欧洲色图综合| 久久你懂得1024| 欧美精品777| 99久久精品免费看国产| 国产一区二区三区在线观看免费视频 | 成人激情校园春色| 一区二区三区**美女毛片| 国产日韩亚洲欧美综合| 欧美男人的天堂一二区| 99久久国产综合色|国产精品| 美女免费视频一区|