串口传输程序烧写到nor flash初始地址后。上电nor启动时传输无效,通过nand启动再将开关拨回nor时却传输成功。经过细致的排查,所有的程序都书写正确,无语法错误,也无寄存器设置值错误。
这是一个很有意思的错误。开关拨回nor flash启动时,传输成功说明程序执行了烧写在nor flash的程序,而且uart.c中的配置基本正确传输才能成功。我们知道当板子开机上电后首先执行的是启动文件中的程序,配置系统时钟等,再会跳回到main.c中执行主函数。说明问题再启动文件配置错误,同时也看出上电后,如果再拨动nor/nand flash启动开关程序会直接跳转到对应的主函数但启动程序的配置不会变。