LPC4078 M4工程移植一
从LPC2468到4078上移植工程花了点时间,有些问题,记录下下。
1.RTC上2468有内部时钟源,4078必须接外部晶振。
2.以太网PHY dp83848居然初始化读不到该寄存器值,但用RL-TCPNET库,发送接收正常(UPD &TCPIP)。
3.在bootloader在线更新程序时(用以太网),代码下到flash不对,后来发现该芯片加密导致,去掉加密就行,在option里asm定NO_CRP,就OK了。
4.2468有SPI,4078只有SSP,而且ssp2和以太网IO冲突,只能复用SSP,2468时序要求没那么严格,在操作总线时,CPHA CPOL一定不能错。
5.居然有发现内存局部变量未初始化值为FF,默认不都是0吗。在SCT文件里设置?
6.当工程稍大的时候,或者函数执行时栈区要求大点时,最好修改栈区大小。在启动文件里startup.s 2468 为USR_Stack_Size
7.4078貌似很脆弱,一不小心就锁死。可能外部IO哪里短下路就O了。JTAG就不能用了。
8.4078比2468内核不同,支持断点多多了。6.7个吧,2468ARM7只有2个,用ulink2调试load也快多了。
9.4078是cortex-M4内核,比M3多了FPU,浮点运算快多了。2468要0.7us。4078只要0.1-2左右吧。可以通过keil设置。
10.4078工程,用C++代码编写时,貌似库文件是.system.c还是哪个,少了#ifdef __cplusplus.结尾。老编译错误,在里面貌似可以选择用M3/M4内核。要不然编译错误。
11.以太网部分最好指定存储位置。在.sct文件里,同样外部存储也可以在这里指定地址。
想起其他再说吧,有不少问题,菜鸟求高手解释。
浙公网安备 33010602011771号