TWENLONG

    1. MSP430G2955使用SBW调试不成功!!! 11/4770 微控制器 MCU 2015-12-14
      数码小叶 发表于 2015-12-13 15:29 看资料是支持SBW的,会不会事你板子的问题,有没接led的板子没
      有没接LED的板子,只连四个引脚貌似任然不可以,加了上电复位电路还是不可以
    2. MSP430G2955使用SBW调试不成功!!! 11/4770 微控制器 MCU 2015-12-11
      michael_llh 发表于 2015-12-11 20:57 恩,没问题,那你测试一下这样子的芯片供电有没有问题,然后你看下复位电路那边对不对
      供电貌似没有问题,电压大约在3.55V,但是复位电路我没有给,这会有影响吗?
    3. MSP430G2955使用SBW调试不成功!!! 11/4770 微控制器 MCU 2015-12-11
      michael_llh 发表于 2015-12-11 20:49 你是板子自己做的,然后想用launchpad的仿真器对吧
      嗯,对,是这个样子的:(G2955可以用SBW,这没有问题吧)
    4. MSP430G2955使用SBW调试不成功!!! 11/4770 微控制器 MCU 2015-12-11
      michael_llh 发表于 2015-12-11 20:41 供电上面有问题吗
      电源也是从G2LaunchPad上取的,换G2553倒是没啥问题
    5. MSP432用上μC/OS-III,却开不了FPU 4/4114 微控制器 MCU 2015-09-27
      54chenjq 发表于 2015-9-27 16:43 上下文切换中有没有对与浮点运算有关的寄存器进行压栈和出栈的处理,没有这些代码是不是会出错?
      从代码上看确实是有对浮点寄存器的进栈和出栈的处理,堆栈初始化的时候浮点寄存器进栈,位于os_cpu_c.c文件中: CPU_STK  *OSTaskStkInit (OS_TASK_PTR    p_task,                          void          *p_arg,                          CPU_STK       *p_stk_base,                          CPU_STK       *p_stk_limit,                          CPU_STK_SIZE   stk_size,                          OS_OPT         opt) {     CPU_STK    *p_stk;         (void)opt;                                                  /* Prevent compiler warning                               */     p_stk = &p_stk_base[stk_size];                              /* Load stack pointer                                     */                                                                 /* Align the stack to 8-bytes.                            */     p_stk = (CPU_STK *)((CPU_STK)(p_stk) & 0xFFFFFFF8);                                                                 /* Registers stacked as if auto-saved on exception        */     *--p_stk = (CPU_STK)0x01000000u;                            /* xPSR                                                   */     *--p_stk = (CPU_STK)p_task;                                 /* Entry Point                                            */     *--p_stk = (CPU_STK)OS_TaskReturn;                          /* R14 (LR)                                               */     *--p_stk = (CPU_STK)0x12121212u;                            /* R12                                                    */     *--p_stk = (CPU_STK)0x03030303u;                            /* R3                                                     */     *--p_stk = (CPU_STK)0x02020202u;                            /* R2                                                     */     *--p_stk = (CPU_STK)p_stk_limit;                            /* R1                                                     */     *--p_stk = (CPU_STK)p_arg;                                  /* R0 : argument                                          */                                                                 /* Remaining registers saved on process stack             */     *--p_stk = (CPU_STK)0x11111111u;                            /* R11                                                    */     *--p_stk = (CPU_STK)0x10101010u;                            /* R10                                                    */     *--p_stk = (CPU_STK)0x09090909u;                            /* R9                                                     */     *--p_stk = (CPU_STK)0x08080808u;                            /* R8                                                     */     *--p_stk = (CPU_STK)0x07070707u;                            /* R7                                                     */     *--p_stk = (CPU_STK)0x06060606u;                            /* R6                                                     */     *--p_stk = (CPU_STK)0x05050505u;                            /* R5                                                     */     *--p_stk = (CPU_STK)0x04040404u;                            /* R4                                                     */     #if (OS_CPU_ARM_FP_EN == DEF_ENABLED)     if ((opt & OS_OPT_TASK_SAVE_FP) != (OS_OPT)0) {         *--p_stk = (CPU_STK)0x02000000u;                        /* FPSCR                                                  */                                                                 /* Initialize S0-S31 floating point registers             */         *--p_stk = (CPU_STK)0x41F80000u;                        /* S31                                                    */         *--p_stk = (CPU_STK)0x41F00000u;                        /* S30                                                    */         *--p_stk = (CPU_STK)0x41E80000u;                        /* S29                                                    */         *--p_stk = (CPU_STK)0x41E00000u;                        /* S28                                                    */         *--p_stk = (CPU_STK)0x41D80000u;                        /* S27                                                    */         *--p_stk = (CPU_STK)0x41D00000u;                        /* S26                                                    */         *--p_stk = (CPU_STK)0x41C80000u;                        /* S25                                                    */         *--p_stk = (CPU_STK)0x41C00000u;                        /* S24                                                    */         *--p_stk = (CPU_STK)0x41B80000u;                        /* S23                                                    */         *--p_stk = (CPU_STK)0x41B00000u;                        /* S22                                                    */         *--p_stk = (CPU_STK)0x41A80000u;                        /* S21                                                    */         *--p_stk = (CPU_STK)0x41A00000u;                        /* S20                                                    */         *--p_stk = (CPU_STK)0x41980000u;                        /* S19                                                    */         *--p_stk = (CPU_STK)0x41900000u;                        /* S18                                                    */         *--p_stk = (CPU_STK)0x41880000u;                        /* S17                                                    */         *--p_stk = (CPU_STK)0x41800000u;                        /* S16                                                    */         *--p_stk = (CPU_STK)0x41700000u;                        /* S15                                                    */         *--p_stk = (CPU_STK)0x41600000u;                        /* S14                                                    */         *--p_stk = (CPU_STK)0x41500000u;                        /* S13                                                    */         *--p_stk = (CPU_STK)0x41400000u;                        /* S12                                                    */         *--p_stk = (CPU_STK)0x41300000u;                        /* S11                                                    */         *--p_stk = (CPU_STK)0x41200000u;                        /* S10                                                    */         *--p_stk = (CPU_STK)0x41100000u;                        /* S9                                                     */         *--p_stk = (CPU_STK)0x41000000u;                        /* S8                                                     */         *--p_stk = (CPU_STK)0x40E00000u;                        /* S7                                                     */         *--p_stk = (CPU_STK)0x40C00000u;                        /* S6                                                     */         *--p_stk = (CPU_STK)0x40A00000u;                        /* S5                                                     */         *--p_stk = (CPU_STK)0x40800000u;                        /* S4                                                     */         *--p_stk = (CPU_STK)0x40400000u;                        /* S3                                                     */         *--p_stk = (CPU_STK)0x40000000u;                        /* S2                                                     */         *--p_stk = (CPU_STK)0x3F800000u;                        /* S1                                                     */         *--p_stk = (CPU_STK)0x00000000u;                        /* S0                                                     */     } #endif        return (p_stk); }复制代码然后上下文切换里面似乎也有对于FPU寄存器的进栈与出栈操作,也位于os_cpu_c.c文件中 void  OSTaskSwHook (void) { #if OS_CFG_TASK_PROFILE_EN > 0u     CPU_TS  ts; #endif #ifdef  CPU_CFG_INT_DIS_MEAS_EN     CPU_TS  int_dis_time; #endif #if (OS_CPU_ARM_FP_EN == DEF_ENABLED)     if ((OSTCBCurPtr->Opt & OS_OPT_TASK_SAVE_FP) != (OS_OPT)0) {         OS_CPU_FP_Reg_Push(OSTCBCurPtr->StkPtr);     }     if ((OSTCBHighRdyPtr->Opt & OS_OPT_TASK_SAVE_FP) != (OS_OPT)0) {         OS_CPU_FP_Reg_Pop(OSTCBHighRdyPtr->StkPtr);     } #endif #if OS_CFG_APP_HOOKS_EN > 0u     if (OS_AppTaskSwHookPtr != (OS_APP_HOOK_VOID)0) {         (*OS_AppTaskSwHookPtr)();     } #endif #if (defined(TRACE_CFG_EN) && (TRACE_CFG_EN > 0u))     TRACE_OS_TASK_SWITCHED_IN(OSTCBHighRdyPtr);                 /* Record the event.                                      */ #endif #if OS_CFG_TASK_PROFILE_EN > 0u     ts = OS_TS_GET();     if (OSTCBCurPtr != OSTCBHighRdyPtr) {         OSTCBCurPtr->CyclesDelta  = ts - OSTCBCurPtr->CyclesStart;         OSTCBCurPtr->CyclesTotal += (OS_CYCLES)OSTCBCurPtr->CyclesDelta;     }     OSTCBHighRdyPtr->CyclesStart = ts; #endif #ifdef  CPU_CFG_INT_DIS_MEAS_EN     int_dis_time = CPU_IntDisMeasMaxCurReset();                 /* Keep track of per-task interrupt disable time          */     if (OSTCBCurPtr->IntDisTimeMax < int_dis_time) {         OSTCBCurPtr->IntDisTimeMax = int_dis_time;     } #endif #if OS_CFG_SCHED_LOCK_TIME_MEAS_EN > 0u                                                                 /* Keep track of per-task scheduler lock time             */     if (OSTCBCurPtr->SchedLockTimeMax < OSSchedLockTimeMaxCur) {         OSTCBCurPtr->SchedLockTimeMax = OSSchedLockTimeMaxCur;     }     OSSchedLockTimeMaxCur = (CPU_TS)0;                          /* Reset the per-task value                               */ #endif }复制代码OS_CPU_FP_Reg_Push和OS_CPU_FP_Reg_Pop是用汇编语言写的,位于os_cpu_a.asm中: #ifdef __ARMVFP__ OS_CPU_FP_Reg_Push     MRS     R1, PSP                                             ; PSP is process stack pointer     CBZ     R1, OS_CPU_FP_nosave                                ; Skip FP register save the first time     VMRS    R1, FPSCR     STR R1, [R0, #-4]!     VSTMDB  R0!, {S0-S31}     LDR     R1, =OSTCBCurPtr     LDR     R2, [R1]     STR     R0, [R2] OS_CPU_FP_nosave     BX      LR #endif #ifdef __ARMVFP__ OS_CPU_FP_Reg_Pop     VLDMIA  R0!, {S0-S31}     LDMIA   R0!, {R1}     VMSR    FPSCR, R1     LDR     R1, =OSTCBHighRdyPtr     LDR     R2, [R1]     STR     R0, [R2]     BX      LR #endif 复制代码
    6. 谢谢分享,初学者来咯
    7. 跟帖抢楼表白 赢七夕惊喜好礼! 93/7712 聊聊、笑笑、闹闹 2015-08-17
      蓦然回首多少次也不知道那人现在何处:Sad::Sad:
    8. MSP432 产品培训电子档 5/2540 微控制器 MCU 2015-08-04
      这个似乎是TI美女工程师主讲的MSP432培训课程哦
    9. 坛子里都谁升级成win10啦,还好吗 45/6161 聊聊、笑笑、闹闹 2015-07-31
      8.1一路顺利地更新到10,软件依然安好,Keil, CCS, AD健在
    10. MSP432 Capacitive Touch 2/2798 微控制器 MCU 2015-07-24
      本帖最后由 TWENLONG 于 2015-7-24 08:39 编辑 datasheet上说432所有IO都有电容触摸功能,我测试过几个IO,好像有个IO没法震荡,但是P1.6我没有测试。将IO口配置为电容触摸功能就像楼主这样配置CAPTIO0CTL寄存器就可以了,不过一般还需要Watchdog和TImerA来读取IO口的震荡频率。 楼主说的CAPTIO0寄存器是CAPTIO0CTL寄存器吗,对里面的CAPTIOSTATE这一位所代表的含义似也许还得再考虑一下
    11. 我的LDO还烫手:Sad:
    12. 拆解手提清灰 30/4245 聊聊、笑笑、闹闹 2015-07-11
      楼主的桌子满满的,桌面也是满满的啊
    13. 如何实现MSP430的量产 12/3637 微控制器 MCU 2015-07-11
      qiushenghua 发表于 2015-7-10 18:44 首先,烧录接口有BSL JTAG SBW三种。 烧录方式有焊接前烧录器烧录和焊接后在线烧录。 如果焊接前烧录, ...
      很详细,有点明白了,还有几个困惑的地方: 1 Value Line的LaunchPad是不是可以给其他430芯片下载程序的呀,只要是有SBW接口,包括FR系列。SBW是两线制JTAG,Value Line的LaunchPad是不是还可以对其他有BSL接口的430芯片进行调试的? 2 看到网上有卖MSP430BSL下载器的,那个东西好像使用PL2303, CH340之类的USB转串口芯片做的,再配合BSL编程软件,比如SF_BSL430和利达尔的LSD_BSL430,是不就可以对430下程序了?这里进BSL的时序是不是由编程软件产生的?还有这些编程软件界面上可选的器件很少,没有列出的是不是就不支持了?
    14. 【测试】你看不到哪张图片里的数字? 82/7838 聊聊、笑笑、闹闹 2015-07-06
      视力这么好也看不清第五张{:1_99:}
    15. MSP432 开箱+energytrace技术初体验 43/10301 微控制器 MCU 2015-07-02
      xiongpb 发表于 2015-7-2 12:51 TWENLONG 你个这个问题我也有啊,你搞清楚原因没有,会不会烧坏板子?
      搞不清,烫到现在还没烫坏
    16. MSP432的电容触摸引脚 2/2343 微控制器 MCU 2015-07-02
      xiongpb 发表于 2015-7-2 12:55 楼主你的板子USB接口那里还发热厉害吗?
      烫!!!!!
    17. 432LaunchPad无法仿真了 3/2157 微控制器 MCU 2015-06-24
      平湖秋月 发表于 2015-6-24 10:27 应该可以的,俺的板子是可以的,看看,能不能在设备管理器中找到你的launchpad吧
      原来是我把开关拨到外部调试器那里了,真是无语啊:surrender:
    18. 关于MSP432的ADC14温度校准参数 11/4941 微控制器 MCU 2015-06-21
      besk 发表于 2015-6-21 22:16 怎么算不出来呢?测量值-初始误差值就是校准后的温度值. // Temperature in Celsius     // The temperat ...
      好吧,原谅我还是不明白,想这里的“CALADC_15V_85C” 和 “CALADC_15V_30C”校准参数在哪里可以看到,是不是要自己算?
    19. 关于MSP432的ADC14温度校准参数 11/4941 微控制器 MCU 2015-06-21
      besk 发表于 2015-6-21 22:05 例程的代码也是没有问题的.只是楼主的引用没有完全.   ADC14CTL1 |= ADC14TCMAP;   // Enable internal te ...
      那两个校准参数找不到温度结果要怎么计算呢?
    20. 关于MSP432的ADC14温度校准参数 11/4941 微控制器 MCU 2015-06-21
      besk 发表于 2015-6-21 21:58 请参考DATASHEET 47页Table5-40的说明.尤其是(2)的说明.
      嗯,找到了,可是我感觉好像还是算不出来这个温度值呢?

最近访客

< 1/1 >

统计信息

已有13人来访过

  • 芯积分:1
  • 好友:--
  • 主题:6
  • 回复:39

留言

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


现在还没有留言