原创 【转贴】430也能玩嵌入式:Contiki内核在IAR+MSP430下移植(五)

2013-1-24 09:53 1123 11 11 分类: MCU/ 嵌入式

 

430下也能跑操作系统,本文转自:http://blog.chinaunix.net/uid-9112803-id-3146985.html

修改的部分源码如下:

 

  1. //filename:msp430.c
  2.  
  3. //asmv("mov r1, %0" : "=r" (stack_pointer)); //sbrk(int incr)函数
  4. *stack_pointer = (unsigned short)__get_SP_register();
  5.  
  6. //asmv("mov r2, %0" : "=r" (sr)); //splhigh_(void)函数
  7. //asmv("bic %0, r2" : : "i" (GIE));
  8. asmv("EINT");
  9.  
  10. //asmv("bis %0, r2" : : "r" (sr)); //splx_(int sr)函数
  11. 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重定义,错误提示如下:

9112803_1332594809DTBG.png

图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定义,处理方法同上。

 

 

in

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条