Chinaunix首页 | 论坛 | 博客
  • 博客访问: 274972
  • 博文数量: 74
  • 博客积分: 1336
  • 博客等级: 中尉
  • 技术积分: 1057
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-02 09:33
文章分类

全部博文(74)

文章存档

2016年(6)

2015年(4)

2014年(20)

2013年(8)

2012年(16)

2010年(9)

2009年(11)

我的朋友

分类: 嵌入式

2014-01-28 21:07:33

四、修改电源管理功能

由于我们的开发板并不像SMDKV210那样拥有16MBSRAM和电源管理芯片,所以我们还要对代码进一步修改。

1.修改底层初始化文件:

gedit board/samsung/smdkc110/lowlevel_init.S

     使用条件编译屏蔽掉下面的代码:

#if 0

        /* SRAM(2MB) init for SMDKC110 */

        /* GPJ1 SROM_ADDR_16to21 */

        ldr     r0, =ELFIN_GPIO_BASE

 

        ……省略部分代码……

 

        /* PS_HOLD pin(GPH0_0) set to high */

        ldr     r0, =(ELFIN_CLOCK_POWER_BASE + PS_HOLD_CONTROL_OFFSET)

        ldr     r1, [r0]

        orr     r1, r1, #0x300 

        orr     r1, r1, #0x1   

        str     r1, [r0]

#endif

     使用条件编译屏蔽掉下面的代码:

#if 0

        /* init PMIC chip */

        bl PMIC_InitIp

#endif

重新编译。

2.固化u-boot

NAND FLASH相关的代码已能识别出系统拥有的NAND FLASH,所以NAND FLASH的读写应该没问题,Uboot本身提供了NAND FLASH的相关读写功能,如 nand erase擦除指令,nand read读指令,nand write写指令,nand scrub格式化指令等等。接下来首先擦除NAND FLASH的前5M内容,然后将上面下载到RAM中的UBoot写到NANDFLASH中。

SMDKV210 # nand erase 0 0x60000

NAND erase: device 0 offset 0x0, size 0x60000

Erasing at 0x40000 -- 100% complete.

OK

SMDKV210 # nand write 0x20000000 0 0x60000

NAND write: device 0 offset 0x0, size 0x60000

Checksum is calculated.

Main area write (3 blocks):

393216 bytes written: OK

现在已经把u-boot.bin烧写到NAND FLASH了,把开发板的启动方式开关打到NAND-BOOT一侧,然后复位开发板,

OK

U-Boot 1.3.4 (Jan 17 2013 - 11:25:27) for SMDKV210

CPU:  S5PV210@1000MHz(OK)

        APLL = 1000MHz, HclkMsys = 200MHz, PclkMsys = 100MHz

        MPLL = 667MHz, EPLL = 80MHz

                       HclkDsys = 166MHz, PclkDsys = 83MHz

                       HclkPsys = 133MHz, PclkPsys = 66MHz

                       SCLKA2M  = 200MHz

Serial = CLKUART

Board:   SMDKV210

DRAM:    512 MB

Flash:   8 MB

SD/MMC:  Card init fail!

0 MB

NAND:    512 MB

In:      serial

Out:     serial

Err:     serial

checking mode for fastboot ...

Hit any key to stop autoboot:  0

SMDKV210 #

输入saveenv保存环境变量,提示保存环境变量到NAND FLASH

SMDKV210 # saveenv

Unknown command 'saveebnv' - try 'help'

SMDKV210 # saveenv

Saving Environment to SMDK bootable device...

Erasing Nand...

Writing to Nand...

Saved enviroment variables

五、加入USB下载功能

         cmd_usbd.cusbd-otg-hs.cusbd-otg-hs.h拷贝至common文件夹下,在Makefile中键入如下代码:

COBJS-$(CONFIG_S3C_USBD) += cmd_usbd.o

COBJS-$(CONFIG_S3C_USBD) += usbd-otg-hs.o

     编译,烧写到SD卡或者NANDFLASH中,启动,在SMDKV210#提示符下键入DNW 0x20000000命令,此时会提示安装usb驱动。将驱动安装文件指向文件即可secusb2.syssecusb2.inf文件所在目录即可,此文件三星公司提供,各个评估板厂商也提供。

阅读(2997) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~