⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arm入门笔记 by mamajinco.txt

📁 ARM 入门笔记
💻 TXT
📖 第 1 页 / 共 5 页
字号:
2)/include/configs
cp B2.h TT.h依旧是把B2的改个名
注意:DAVE的板子是用44B0的,但还有其他板子用吗?怎么确定只有它用?用以下命令

到board目录查了一下: 
#cd u-boot 
#cd board 
#find . -exec grep -l 44B0 {} \; 
结果是: 
./dave/B2/B2.c 
B2网站是: http://www.dave-tech.it

3)以下文件修改记录

----------------------------------------------------------------------------------------------------
-----------------------------------/include/configs/TT.h-------------------------------------------
----------------------------------------------------------------------------------------------------
#define CONFIG_INIT_CRITICAL     1         这个在cpu/s3c44b0/start.S里面用到,如果你的u-boot程序不是在sdram中调试而是固化到flash中运行的话,这个必不可少。

找到 #define CONFIG_B2          1        改成CONFIG_TT

找到 #define CONFIG_S3C44B0_CLOCK_SPEED   75   主频改成60

找到Size of malloc() pool这部分设置,改成这样。

#define CFG_MONITOR_LEN            (256 * 1024)   /* Reserve 256 kB for Monitor      */

#define CFG_ENV_SIZE                 (64*1024)        /* 1024 bytes may be used for env vars*/

#define CFG_MALLOC_LEN              (CFG_ENV_SIZE + 128*1024 )

#define CFG_GBL_DATA_SIZE    128  /* size in bytes reserved for initial data */

#define CFG_ENV_IS_IN_FLASH         1  这个必不可少,如果你想把你的参数保存到flash的话
#define CFG_ENV_ADDR    (PHYS_FLASH_1+0x40000)  这个就是你的参数保存在flash里的起始地址了

#define CFG_ENV_OFFSET 0x40000      这个我后来看它源程序发现如果你上一步没有设置它的起始地址的话就会用它来作默认地址的了

#define CONFIG_AUTO_COMPLETE

其它地方没有深究哦,有些好像不要也行,你就试试吧。

找到Hardware drivers部分,这应该是网络芯片设置吧,参考一下这个吧(要看芯片的):

#define CONFIG_DRIVER_RTL8019        这个就要看你的板上用的是什么网卡了(这个是台湾出的,有10M)

#define RTL8019_BASE        0x06000300   这个是网卡相就寄存器的起始地址,有的挂在BANK4上了地址自然是0X08000300

以下部分我试过不要也行,你试下吧

#define RTL8019_BUS32             0

#define CONFIG_SMC_USE_16_BIT

#undef  CONFIG_SHOW_ACTIVITY

#define CONFIG_NET_RETRY_COUNT           10       应该是重试的次数吧


#define CONFIG_SERIAL 1

#define CONFIG_BAUDRATE             115200  设置波特率

 


#define CONFIG_COMMANDS          ( CONFIG_CMD_DFL | \

                                                        CFG_CMD_DATE | \

                                                        CFG_CMD_ELF    | \

                                                        CFG_CMD_NET    | \

                                                        CFG_CMD_EEPROM   | \

                                                        CFG_CMD_I2C            | \

                                                        CFG_CMD_FAT | \

                                                        CFG_CMD_JFFS2)

把CFG_CMD_EEPROM改成CFG_CMD_FLASH吧,虽然不改也是可以的,具体没考究。

 


以下是板上env参数设置,看一下吧,其实我觉得了解一下就行的了,只是一些初始设置值,以后可以用命令setenv  saveenv来修改的。

#define CONFIG_BOOTDELAY   3                这个就是运行bootcmd之前的等待时间

#define CONFIG_BOOTARGS  "devfs=mount root=ramfs console=ttyS0,115200" 引导uClinux的时候传递的参数,不会就先不用管它也行。 

#define CONFIG_ETHADDR       00:50:c2:1e:af:fb    网卡的物理地址MAC

#define CONFIG_NETMASK  255.255.255.0       掩码地址,设置过ip的人都应该知道吧

#define CONFIG_IPADDR   192.168.0.30          这是你板上网卡8019的ip地址

#define CONFIG_SERVERIP       192.168.0.10       这是你宿主机的ip地址,以后用tftp下载的时候用到,一定要跟你的宿主机一致才行。

#define CONFIG_BOOTFILE       "u-boot.bin"        这个就是你要下载文件的默认名字,注意的是不是UBOOT编译的文件 而是UBOOT下载以后在这个地址执行这个文件,比如这个文件在下LINUX后就常被改成UCLINUC.BIN了

#define CONFIG_BOOTCOMMAND   "bootm 0x50000"   这是bootdelay后运行的命令

 


Miscellaneous configurable options部分,参考一下吧:

#define    CFG_LONGHELP                       /* undef to save memory       */

#define    CFG_PROMPT      "TENWAY=>"   这是进入命令模式下的提示符,改个帅一点的吧

#define    CFG_CBSIZE        256         /* Console I/O Buffer Size     */

#define    CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */

#define    CFG_MAXARGS          100              /* max number of command args  */

#define CFG_BARGSIZE             CFG_CBSIZE /* Boot Argument Buffer Size       */

 


#define CFG_MEMTEST_START     0x0C400000   /* memtest works on     */

#define CFG_MEMTEST_END           0x0C800000   /* 4 ... 8 MB in DRAM  */

#undef  CFG_CLKS_IN_HZ              /* everything, incl board info, in Hz */

#define    CFG_LOAD_ADDR             0x0c008000    默认的下载地址

#define    CFG_HZ                      1000              /* 1 kHz */

#define CFG_BAUDRATE_TABLE  { 9600, 19200, 38400, 57600, 115200 } 可供选择的波特率

 

 

 

Physical Memory Map部分,比较重要,修改你的sdram和flash的地址和容量。

#define CONFIG_NR_DRAM_BANKS 1        我们只占用了一个Bank用来映射sdram

#define PHYS_SDRAM_1            0x0c000000     sdram的起始地址

#define PHYS_SDRAM_1_SIZE   0x00800000     sdram的容量(8M)

#define PHYS_FLASH_1              0x00000000     flash的起始地址

#define PHYS_FLASH_SIZE        0x00200000 flash的容量(2M)

#define CFG_FLASH_BASE         PHYS_FLASH_1   定义多个名字而已,其它地方会用到

注意:
存储容量的计算方法
2M=0x00200000-----------------16进制转换成10进制(用WINDOWS自带的计算机就行)-------------------》2097152
2097152=1024*1024*2

FLASH organization部分,看注释应该知道了吧,参考一下:
/*-----------------------------------------------------------------------
 * FLASH organization
 */
#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks  */
#define CFG_MAX_FLASH_SECT 256 /* 最大支持的SECTOR数量,另外SAM FEI的补丁这里设置了32个 是错误的*/
//#define CFG_MAIN_SECT_SIZE      0x10000  /* main size of sectors on one chip */

#define CFG_FLASH_ERASE_TOUT 4120000 /* Timeout for Flash Erase (in ms) 在前面加个4让它长点 */
#define CFG_FLASH_WRITE_TOUT 1000 /* Timeout for Flash Write (in ms) */
其他地方还没动 以后动的再补上

UBOOT 移植操作(3) 

----------------------------------------------------------------------------------------------------
-----------------------------------board/myboard/common/flash.c-----------------------------------
----------------------------------------------------------------------------------------------------
找到这个函数:write_buff

里面有这句话,一共有6处吧?全改了:#ifdef CONFIG_B2

把CONFIG_B2改成上面TT.H文件里面起的名,我的叫CONFIG_TT

关于FLASH的一点疑问:
一直怀疑29LV160和39LV160在U BOOT下是否兼容的问题
看了这段程序后似乎U BOOT是可以自动检测的

----------------------------------------------------------------------------------------------------
-----------------------------------board/T2T/TT/memsetup.S-----------------------------------
-----------------------------------也叫board/T2T/TT/lowlevel_init.S-----------------------------------
----------------------------------------------------------------------------------------------------
按照如下改
 
* Bank 0 parameter */
.equ    B0_Tacs,      0x3 /* 0clk */
.equ    B0_Tcos,      0x3 /* 0clk */
.equ    B0_Tacc,      0x7 /* 14clk */
.equ    B0_Tcoh,      0x3 /* 0clk */
.equ    B0_Tah,       0x3 /* 0clk */
.equ    B0_Tacp,      0x1 /* 0clk */
.equ    B0_PMC,       0x0 /* normal(1data) */
/* Bank 1 parameter */
.equ    B1_Tacs,      0x0 /* 4clk */
.equ    B1_Tcos,      0x1 /* 4clk */
.equ    B1_Tacc,      0x2 /* 14clkv */
.equ    B1_Tcoh,      0x1 /* 4clk */
.equ    B1_Tah,       0x0 /* 4clk */
.equ    B1_Tacp,      0x0 /* 6clk */
.equ    B1_PMC,       0x0 /* normal(1data) */

/* Bank 2 parameter -  */
.equ    B2_Tacs,      0x0 /* 4clk */
.equ    B2_Tcos,      0x2 /* 4clk */
.equ    B2_Tacc,      0x4 /* 14clk */
.equ    B2_Tcoh,      0x2 /* 4clk */
.equ    B2_Tah,       0x3 /* 4clk */
.equ    B2_Tacp,      0x3 /* 6clk */
.equ    B2_PMC,       0x0 /* normal(1data) */

/* Bank 3 parameter */
.equ    B3_Tacs,      0x3 /* 4clk */
.equ    B3_Tcos,      0x3 /* 4clk */
.equ    B3_Tacc,      0x7 /* 14clk */
.equ    B3_Tcoh,      0x3 /* 4clk */
.equ    B3_Tah,       0x3 /* 4clk */
.equ    B3_Tacp,      0x3 /* 6clk */
.equ    B3_PMC,       0x0 /* normal(1data) */

/* Bank 4 parameter */
.equ    B4_Tacs,      0x3 /* 4clk */
.equ    B4_Tcos,      0x3 /* 4clk */
.equ    B4_Tacc,      0x7 /* 14clk */
.equ    B4_Tcoh,      0x3 /* 4clk */
.equ    B4_Tah,       0x3 /* 4clk */
.equ    B4_Tacp,      0x3 /* 6clk */
.equ    B4_PMC,       0x0 /* normal(1data) */

/* Bank 5 parameter */
.equ    B5_Tacs,      0x0 /* 4clk */
.equ    B5_Tcos,      0x1 /* 4clk */
.equ    B5_Tacc,      0x4 /* 14clk */
.equ    B5_Tcoh,      0x1 /* 4clk */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -