学习欧洲做的bootloader项目.pptVIP

  • 1
  • 0
  • 约1.44千字
  • 约 7页
  • 2017-09-08 发布于江苏
  • 举报
学习欧洲做的bootloader项目

学习欧洲做的bootloader项目 遇到的问题 1.原来是用EW78K0 4.4A 版本开发的项目文件,但是手上只有4.3A版本,但是由于不兼容, 所以我的编译器无法直接打开项目. 2.再4.3A下自己建立一个项目,并添加源代码到项目中,编译通过但是下载到MINI2调试时发现很多错误信息,后来经过与欧洲沟通后发现XCL文件没有保留MINI2所占用的rom空间,于是添加欧洲给过来的新的XCL文件,但是发现编译时系统提示放不下代码段,分析是MINI2占用了空间导致代码空间不够。 综合以上的问题点: 分析整个项目主要存在以下两个问题点: 代码空间无法容纳全部的代码,编译无法进行下去 自编程代码工作时程序跑飞,问题可能是由于前面监控代码没被编译进调试代码里 解决思路: 1.把项目中的关于自编程的部分代码先屏蔽掉,先调试串口通信部分 2.如果正常执行了,在调试自编程的部分代码 工作平台 源代码 Bootloader – 来自欧洲网站的参考例子 软件 Compiler --- IAR EW78K0 4.3A 硬件 Emulator --- MINICUBE (因为4.3A不支持MINI2) Target --- TK-78K0/KF2 + 232电平转换电路 项目文件罗列(1): $PROJ_DIR$/source下 bl78k0_kx2_control.c bl78k0_kx2_dbuffer.c bl78k0_kx2_fdec.c bl78k0_kx2_help_fkt.c bl78k0_kx2_irq_table.asm bl78k0_kx2_main.c bl78k0_kx2_time.c bl78k0_kx2_uart.c $PROJ_DIR$/source/spl下 spl78k0_kx2.asm spl78k0_kx2_user.c XCL文件 问题排解: 1.调试通信和软件结构的代码 a.屏蔽自编程代码 方法:采用条件编译的方式 #ifdef xx #else ret #endif 以前调试下载程序时,报0x02,0x03错是由于bl78k0_kx2_irq_table.asm文件中给中断向量0x02,0x03分配了一个向量,而实际上这个向量是给调试器用的一个向量,是否这个也是导致程序跑飞的原因? 经过晚上的实验表明,现在整个项目的代码量太大了,以致于程序没办法在4K的代码空间存放。 通信接口 --- uart口 由于硬件板TK-78K0/KF2有一个串口转USB的硬件转换口,于是决定用这上面的串口,而不用另外的USB转串口硬件。 实验表明,板子的USB口可以作为串口使用。 * $PROJ_DIR$/INC下 bl78k0_kx2_const.h bl78k0_kx2_control.h bl78k0_kx2_dbuffer.h bl78k0_kx2_exceptions.h bl78k0_kx2_fdec.h bl78k0_kx2_help_fkt.h bl78k0_kx2_time.h bl78k0_kx2_uart.h bl78k0_kx2_user.h Io78f0547_80.h $PROJ_DIR$/INC/spl下 spl78k0_kx2.h spl78k0_kx2_config.h spl78k0_kx2_const.h spl78k0_kx2_user.h Spl8k0_types.h *

文档评论(0)

1亿VIP精品文档

相关文档