1.51单片机keil程序最好别用 取模运算 %
1.1 检查单片机是否安装正确\
1.2串口奇偶校验最好设置为无。
2.串口接收,最好为接收中断设置一缓冲区,否则容易出现丢失数据现象,且sbuf寄存器要初始化0,否则接收到的第一字节数据可能错误。
3.串口处理数据 和 定时器中断 抢占时间的时候,可以采取分时 复用的方式,在串口处理数据的时候,关闭定时器中断。
4.s3c6410 sd卡启动 有一个 BL1 完整性校验
5.dd 命令写磁盘时,确认磁盘所在路径是 磁盘文件,否则容易写到 普通文件里面。
6.s3c6410 stepping stone开始地址是 0x0c000000,所以堆栈和 链接地址 都不要弄错了 不要弄成 0x0了
7.裸机调试的时候,一定要手动清零bss段,否则会取到不为0的数据,导致程序执行错误。
8.jlink连上,但不连电脑,供电不足,led不会亮。
9.s3c-nand: ECC uncorrectable error detected,将飞凌的linux 2.6.28 和linux 2.6.36换着烧写就没问题。
10.中断是放在执行地址为0x0开始的地方的。
11.使用mmu时,初始化lcd使用的 buffer起始地址应该为物理地址,而不是虚拟地址。
12.中断处理程序中,最后一个符号ldmia sp!,{r0-r12,pc}^,上尖角不能少。作用是,将spsr赋值到cpsr
13. 局部变量数组太大,arm-linux-gcc全调用 memset函数
14.开启mmu后,确保地址映射正确,比如 网卡其地址。
15.stm32 usart 硬件复位后,串口发送首个数据之前,先读取一下USART_SR,则能够保证首个数据发送时,不出现覆盖的情况。当然,也有别的方法,比如先清除TC状态位,USART_ClearFlag(USART1, USART_FLAG_TC);或USART1->SR&=~(1<<7);
16.运行程序的时候,将jlink取下,它会消耗电流。
17.友善之臂,sdflasher 不能用多功能读卡器,扫描不到磁盘。
18 tftp配置,在FC3和FC3以后的FC版本中SELinux默认的都是开启的,现关掉它,修改文件 /etc/sysconfig/selinux,设定其中的 SELINUX=disabled