你好,
我现在可以用starterware提供的flash writer将staterware中的bootloader和timercount烧到flash中,而且可以成功从flash启动,在Tera Term中看到计时器的输出。我的目的是开发自己的bootloader。我尝试用仿真器来运行staterware中的bootloader程序,到了下面列出的语句就会跳转到timer counter的程序。
/* Giving control to the application */
appEntry = (void (*)(void)) entryPoint;
(*appEntry)( );
我的问题是,在跳转过去后,Tera Term中有正常的输出,但是在仿真器中实际是无法看到timer count的代码(如图所示, "No source available for…"),这样是正常的么?如果是,那么是否只能通过view memory来查看从flash copy出来的数据是否正确来验证。对于application code,是需要另外用仿真器调试好之后再下载到flash中?
另外,我自己建了一个小工程。在用仿真器调试此工程时可以看到“hello world!"的输出。可是当我把相应的bin烧录到flash中,并用仿真器运行staterware中的bootloader时,我无法看到“hello world!"的输出,程序最后停的地址和while(1)的地址吻合。基本可以确定程序是正常运行的,可是为什么没有“hello world!"的输出呢?
void main(void) {
printf("Hello World!\n");
while(1);
}
thanks
noaming:
"在跳转过去后,Tera Term中有正常的输出,但是在仿真器中实际是无法看到timer count的代码(如图所示, "No source available for…")"
这样是正常的,因为此时bootloader已经将控制权交给了用户程序。
noaming:
用户程序是需要先仿真器调试好,在线运行没有问题后,再制作镜像等可执行文件下载到flash中的。查看内存中的数据,可以使用view memory的方法。