430也能玩嵌入式:Contiki内核在IAR+MSP430下移植(五)
[复制链接]
修改的部分源码如下:
//filename:msp430.c //asmv("mov r1, %0" : "=r" (stack_pointer)); //sbrk(int incr)函数 *stack_pointer = (unsigned short)__get_SP_register(); //asmv("mov r2, %0" : "=r" (sr)); //splhigh_(void)函数 //asmv("bic %0, r2" : : "i" (GIE)); asmv("EINT"); //asmv("bis %0, r2" : : "r" (sr)); //splx_(int sr)函数 - asmv(" bis &sr,r2"); //改成这样不行!!!直接注释了
2.6 板子相关的未定义变量 编译会出现很多未定义错误,诸如ADC12MCTL_NO(sky-sensors.c,显然板子相关)、UCB0CTL1等(cpu/msp430/spix.c)、UCA0STAT等(cpu/msp430/dev/uart0x.c及uart1x.c),这里简单地把这些相关文件从工程目录移除。
三、链接调试 3.1 slip_arch_init和slip_arch_writeb重定义 链接提示slip_arch_init、slip_arch_writeb重定义,错误提示如下: 图5 slip_arch_init重定义错误提示
这点确实,slip_arch_init与slip_arch_writeb函数分别在slip_uart0.c和slip_uart1.c定义了,SLIP是指Serial Line Interface Protocol,即串行线路接口协议,是旧式的协议,这里只是简单地注释掉slip_uart1.c中的slip_arch_init定义(估计计这玩意也用不着)。 3.2 putchar重定义 与(1)类似,putchar函数分别在uart0-putchar.c和uart1-putchar.c定义,处理方法同上
|