OMAPL138/AM1808 修改调试串口为UART1后通过CCSV4下载程序的全过程(原创)

 

 

OMAPL138/AM1808 修改调试串口为UART1后通过CCSV4下载程序的全过程

一、   需要用的资料:

1) OMAP-L138_FlashAndBootUtils_2_30.tar.gz

备注:这个里面的/OMAP-L138_FlashAndBootUtils_2_30\OMAP-L138\CCS目录下面有要用的CCSV4工程文件:

2)Using the AM18xx Bootloader  这个文件里面会讲到关于AM1808的BOOT的基本知识;

3)http://www-s.ti.com/sc/techlit/spraba5.zip.    AISgen for D800K008软件,用于生成the binary AIS UBL文件;

二、修改确认工作:

1)用CCV4将UBL_ARM和SPIWriter两个工程文件导入;

2)UBL_SPI_MEM工程文件如下:

修改\OMAP-L138_FlashAndBootUtils_2_30\OMAP-L138\Common\include\device_uart.h中的内容如下:

#define DEVICE_UART_PERIPHNUM         (1)

重新编译链接程序,并且下载到开发板上运行实际的效果是否正确;

3)SPI_Writer工程文件如下:

                重新编译链接,保证工程文件没有问题;

4)生成the binary AIS UBL文件:

       注意:1)Device Type: D800K006  的选择来源于芯片内部的ROM中的内容:地址:0xFFFD0000 处按字符显示的内容确定;

                   2) 注意理解上面的所有选项的内容:同时可以参考Using the AM18xx Bootloader.pdf 的中内容来理解生成BIN文件中的内容;

                   3)上面的软件还可以用来下生成无UBL的AIS 格式的UBOOT.

三、程序下载过程:

1)CCSV4中下载SPI_WRITER工程文件:

下载过程如下:

Starting OMAP-L138 SPIWriter.

Will you be writing a UBL image? (Y or y)

y

Enter the binary AIS UBL file name (enter 'none' to skip):

none

Enter the application file name (enter 'none' to skip):

d:\u-boot.bin

INFO: File read complete.

Enter the app image load address (in hex):

C1080000  

备注:此处只能写成前面的格式,而不能写0XC1080000;  这个地址来uboot中定义的TEXT_BAES地址数值;

Enter the app image entry point address (in hex):

c1080000

Doing block erase.Doing block erase.Doing block erase.        SPI boot preparation was successful!

  1. 连接串口,更改BOOT方式为SPI.给DEMO板上电;

串口打印信息如下:

说明两点:一、串口1 BOOT修改成功;二、说明UBOOT中的调试串口配置不正确;

OMAP-L138 initialization passed!

Booting NL User Boot Loader

UBL Version: 1.65

UBL Flashtype: SPI

Starting SPI Memory Copy...

Valid magicnum, 0x55424CBB, found at offset 0x00010000.

   DONE

Jumping to entry point at 0xC1080000.

 

四、UBOOT中调试串口的修改方法:

下面将讲解如何修改基于 uboot-03.21.00.04 源码的 uboot 串口修改。以 UART2 切换到

UART1 为例,需要修改的 uboot 源码文件有以下两个:

/include/configs/da850evm.h

/board/davinci/da8xxevm/da850evm.c

修改 da850evm.h 文件

打开 da850evm.h 文件,将文件以下 UART2配置行注释掉:

//#define CONFIG_SYS_NS16550_COM1  DAVINCI_UART2_BASE /* Base address of UART0 */

增加 UART1 配置行:

#define CONFIG_SYS_NS16550_COM1   DAVINCI_UART1_BASE /* Base address of UART2 */

 

修改 da850evm.c 文件:有四个地方需要修改:

1)引脚复用:

打开 da850evm.c 文件,注释掉 struct pinmux_config uart_pins 数组的 pinmux[3],

增加 pinnux[0],修改如下:

const struct pinmux_config uart_pins[] = {

{ pinmux[0], 4, 6 },

{ pinmux[0], 4, 7 },

{ pinmux[3], 2, 4 },

{ pinmux[3], 2, 5 }

};

修改后的截图如下:

 

2)模块的电源管理:

lpsc_on(DAVINCI_LPSC_UART0); /* console */

紧接着增加以下行:

lpsc_on(DAVINCI_LPSC_UART2); /* console */

修改后如下图:

3)芯片内部模块的SUSPSRC控制使用:

修改截图如下:

4)使用UART1为调试串口:

亲测:这样就可以UBOOT的串口参数就修改完成,最好将DA850EVM.H中的UBOOT给内核的参数中的console=tyyS2修改为console=ttyS1,否则内核不能正常引导;

备注:

1) 如果在SPIWRITER程序下载过程中写成"0xc1080000"将会出现下面的问题:

AM1808 initialization passed!

Booting TI User Boot Loader

UBL Version: 1.65

UBL Flashtype: SPI

Starting SPI Memory Copy...

Valid magicnum, 0x55424CBB, found at offset 0x00010000.

   DONE

Jumping to entry point at 0x00000000.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值