jhw3378

    1. 突发奇想,想写一个双任务的调度程序,主程序用汇编,两个任务程序同样用汇编写时没有问题。 想着任务程序一般用C开发,结果就遇到了上述问题。 根据您的建议,变量声明使用__no_init应该没有问题,从汇编代码看也正常,只是必须在C任务中进行变量的初始化。 但是在C子程序中作整除运算不好解决(整乘可以,但3.42版本也不行),原来理解单独编译这段C代码通过,说明是把库函数正常调用了,但link报错,简单以为是IAR的设置问题。这个问题也可以替代解决:自己写一些除函数汇编代码,在C任务中去调用,但感觉C中的加减乘除代码不好看。 最后再次感谢各位朋友的帮助! 最后小结一下: 1.主程序和子程序都用C时正常 2.主程序和子程序都用汇编也正常 3.主程序用C,子程序用汇编正常 4.主程序用汇编,子程序用C,汇编中可声明函数和变量,也可被C使用,C中也可声明函数,不能直接声明全局变量(除非使用__no_init关键字),并且C函数中不能使用(/%,3.42甚至不能使用*)运算。 再次表示感谢!
    2. 是完整的代码 DivMod16u应是系统生成的除运算汇编程序
    3. 再顶一下
    4. 上面问题中得全局变量kk必须在C程序中(实际需要)
    5. //====================================================主程序#include "msp430x44x.h"   extern chu//------------------------------------             NAME  main             ORG   0FFFEh             DW    RESET //------------------------------------             RSEG  CSTACK             RSEG  CODE//------------------------------------RESET mov.w #SFE(CSTACK),SPmain     mov.w #WDTPW+WDTHOLD,&WDTCTL//-------------------------------------             mov.w #40,R12;             mov.w #20,R13;             call #chu//-------------------------------------main1             jmp main1  //-------------------------------------                  END //======================================================子程序#include "msp430x44x.h"unsigned int kk;unsigned int chu(unsigned int i,unsigned int j){        kk=kk+1;//完成一次全局变量计数        return(i/j);//主程序中进行调用}   //=======================================================报错:Error[e46]: Undefined external "?cstart_init_zero" referred in quanjuyuchu ( G:\ Error[e46]: Undefined external "?DivMod16u" referred in quanjuyuchu ( G:\    //=======================================================备注 我用的5.2版本的IAR 不知道是哪里设置出的问题?请各位大侠帮助解决:) [ 本帖最后由 jhw3378 于 2012-2-10 10:17 编辑 ]
    6. 混合编程问题 4/2495 微控制器 MCU 2012-02-09
      子程序进行加减计算是可以的
    7. 混合编程问题 4/2495 微控制器 MCU 2012-02-09
      我用的是 IAR Assembler for MSP430 V3.42A/W32 (3.42.1.9)
    8. 汇编中如何宏定义立即数 3/3506 微控制器 MCU 2012-02-03
      非常感谢
    9. 汇编中如何宏定义立即数 3/3506 微控制器 MCU 2012-02-03
      自己顶一下

最近访客

< 1/1 >

统计信息

已有62人来访过

  • 芯积分:--
  • 好友:--
  • 主题:3
  • 回复:9

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言