OK6410,修改调试串口,屏蔽调试输出,增加启动画面

以下方法先收藏,待测试。。。

(一)bootloader的开机画面
下载地址:http://download.csdn.net/source/3147163,这里以上才附近就说文件过大...论坛限制了?
制作bmp图片,通过Image2Lcd转换成logo.h文件;
如图:
image2lcd.png

把logo.c放入C:\WINCE600\PLATFORM\SMDK6410\src\bootloader\eboot\文件夹中;
下载main.c覆盖C:\WINCE600\PLATFORM\SMDK6410\src\bootloader\eboot\main.c
在main.c中注意两个地方
1.引入的文件名logo.h[如果你改名字,请修改#include]
2.有一行代码如下:
memcpy((void *)IMAGE_FRAMEBUFFER_UA_START, (void *)gImage_logo, 480*272*2);
注意:gImage_logo要和logo.h中变量名一致;

重新生成bootloader就可以了;

(二)修改调试串口为普通串口;同时取消了调试输出信息;再wince下四个用户串口;

1.smdk6410.bat里
set BSP_NOUART0=1将这句的值去掉
set BSP_DEBUGPORT=SERIAL_UART0将这句屏蔽掉

2.修改debug.c
把OAL下debug.c的内容都拷贝到C:\WINCE600\PLATFORM\SMDK6410\src\bootloader\eboot\debug.c中;把eboot的debug.c中{#include <..\\..\oal\\oallib\\debug.c>}注释;
在eboot中的debug.c中 把判断debug_port的分支和条件都注掉,只留一个想改为调试口的分支的实现部分。
再回过来修改oal下debug.c,把所有函数的内容都注释掉;

3.修改串口0的驱动文件;
文件名为ser_smdk6410.cpp或者 smdk6410_serial.cpp
找到 class CPdd6410Serial0 内的 GetModemStatus 方法,把此方法代码注释:更改为:return (CPdd6410Uart::GetModemStatus() | MS_CTS_ON);
修改InitModem 函数,把InitModem方法内注释,然后return true;
在串口驱动中,发现初始UART0用的是类CPdd6410Serial0,它确实与其他口的类不一样。加了个modem的功能在里面。这就好办了,只要把modem功能去就,让它变成一个普通串口就行了。


关于修改注册表:只要保证smdk6410.bat中如下一段
set BSP_NOSERIAL=
set BSP_NOUART0=
set BSP_NOUART1=
set BSP_NOUART2=
set BSP_NOUART3=
set BSP_NOIRDA2=1
set BSP_NOIRDA3=1

@REM set BSP_DEBUGPORT=SERIAL_UART0
@REM set BSP_DEBUGPORT=SERIAL_UART1
@REM set BSP_DEBUGPORT=SERIAL_UART2
@REM set BSP_DEBUGPORT=SERIAL_UART3
这样就不需要修改注册表;

原文地址:https://www.cnblogs.com/hummersofdie/p/2476888.html