beloved

    1. 请教Stelllaris系列ARM烧程序时如何加密 11/10075 微控制器 MCU 2011-09-05
      如果在产品量产后,真的想保护程序不被读出,请把JTAG/SWD引脚配置成GPIO,这样就无法通过JTAG/SWD读取芯片Flash内容。如果通过LM Flash Programmer对芯片解锁,解锁成功后,会自动把FLASH内容擦除。这样,保护知识产权的目的可以达到。
    2. 求LM3S811汇编程序头文件 1/2960 微控制器 MCU 2011-08-01
      现在搞汇编的开发,几乎没有人会支持和回应的。。。M3的开发,一般不需要汇编啦,C语言够了
    3. LM3S9B95调试错误 17/4825 微控制器 MCU 2011-08-01
      你编译器选择的芯片型号和实际硬件板上芯片的型号确认一致?
    4. TI的图形库USB库之类的好像下不了啊 3/3455 微控制器 MCU 2011-07-29
      你的邮箱地址是否填写正确?一般会很快发送邮件到邮箱的。
    5. lm3s9b92 usb device 6/3995 微控制器 MCU 2011-07-27
      PC机的USB源代码是开放的,如果想实现这种功能,请自行深入研究其代码,进行相应的修改即可。这种功能的实现其实和MCU已经没有关系了,而在于PC机USB软件的编写。
    6. Cortex-M3上电默认是允许中断的到其内核的。 //! \return Returns \b true if interrupts were disabled when the function was //! called or \b false if they were initially enabled. // //***************************************************************************** tBoolean IntMasterEnable(void) {     //     // Enable processor interrupts.     //     return(CPUcpsie()); } #if defined(ccs) unsigned long CPUcpsie(void) {     //     // Read PRIMASK and enable interrupts.     //     __asm("    mrs     r0, PRIMASK\n"           "    cpsie   i\n"           "    bx      lr\n");     //     // The following keeps the compiler happy, because it wants to see a     // return value from this function.  It will generate code to return     // a zero.  However, the real return is the "bx lr" above, so the     // return(0) is never executed and the function returns with the value     // you expect in R0.     //     return(0); } #endif [ 本帖最后由 beloved 于 2011-7-27 10:03 编辑 ]
    7. 标准的JTAG引线,理论是可以的。当然,我并没有这样测试过
    8. 原帖由 o0pingu0o 于 2011-7-20 14:33 发表 我在用LM3S811,当把它的PC2口设置为输入,可输入高低电平,也就是0和1,PB7口设置为输出;开机运行PC2输入低电平,这都正常,但当此时按下复位,芯片就会死掉,这怎么办?其它口都没此种搭配的问题。谢谢大家了:fun ...
      注意看LM3S811数据手册中我截取的部分,黄色标注的有说明,nTRST与PC2没有被配置成GPIO时,如果它们同时被拉低时会导致芯片工作在不正常状态!建议不使用JTAG的引脚作为GPIO。如果你真的想这样做,请参考下面的代码://*****************************************************************************//// gpio_jtag.c - Example to demonstrate recovering the JTAG interface.//// Copyright (c) 2009-2010 Texas Instruments Incorporated.  All rights reserved.// Software License Agreement// // Texas Instruments (TI) is supplying this software for use solely and// exclusively on TI's microcontroller products. The software is owned by// TI and/or its suppliers, and is protected under applicable copyright// laws. You may not combine this software with "viral" open-source// software in order to form a larger program.// // THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL// DAMAGES, FOR ANY REASON WHATSOEVER.// // This is part of revision 6459 of the EK-LM3S9B92 Firmware Package.////*****************************************************************************#include "inc/hw_gpio.h"#include "inc/hw_ints.h"#include "inc/hw_memmap.h"#include "inc/hw_types.h"#include "driverlib/debug.h"#include "driverlib/gpio.h"#include "driverlib/interrupt.h"#include "driverlib/rom.h"#include "driverlib/sysctl.h"#include "utils/uartstdio.h"//*****************************************************************************////! \addtogroup example_list//! <h1>GPIO JTAG Recovery (gpio_jtag)</h1>//!//! This example demonstrates changing the JTAG pins into GPIOs, along with a//! mechanism to revert them to JTAG pins.  When first run, the pins remain in//! JTAG mode.  Pressing the push button will toggle the pins between JTAG mode//! and GPIO mode.  Because there is no debouncing of the push button (either//! in hardware or software), a button press will occasionally result in more//! than one mode change.//!//! In this example, four pins (PC0, PC1, PC2, and PC3) are switched.//!//! UART0, connected to the FTDI virtual COM port and running at 115,200,//! 8-N-1, is used to display messages from this application.////*****************************************************************************//*****************************************************************************//// The current mode of pins PC0, PC1, PC2, and PC3.  When zero, the pins// are in JTAG mode; when non-zero, the pins are in GPIO mode.////*****************************************************************************volatile unsigned long g_ulMode;//*****************************************************************************//// The error routine that is called if the driver library encounters an error.////*****************************************************************************#ifdef DEBUGvoid__error__(char *pcFilename, unsigned long ulLine){}#endif//*****************************************************************************//// The interrupt handler for the PB4 pin interrupt.  When triggered, this will// toggle the JTAG pins between JTAG and GPIO mode.////*****************************************************************************voidGPIOBIntHandler(void){    //    // Clear the GPIO interrupt.    //    ROM_GPIOPinIntClear(GPIO_PORTB_BASE, GPIO_PIN_4);    //    // Toggle the pin mode.    //    g_ulMode ^= 1;    //    // See if the pins should be in JTAG or GPIO mode.    //    if(g_ulMode == 0)    {        //        // Change PC0-3 into hardware (i.e. JTAG) pins.        //        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x01;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) |= 0x01;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x02;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) |= 0x02;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x04;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) |= 0x04;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x08;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) |= 0x08;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x00;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = 0;        //        // Turn on the LED to indicate that the pins are in JTAG mode.        //        ROM_GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, GPIO_PIN_0);    }    else    {        //        // Change PC0-3 into GPIO inputs.        //        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x01;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xfe;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x02;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xfd;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x04;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xfb;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x08;        HWREG(GPIO_PORTC_BASE + GPIO_O_AFSEL) &= 0xf7;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY_DD;        HWREG(GPIO_PORTC_BASE + GPIO_O_CR) = 0x00;        HWREG(GPIO_PORTC_BASE + GPIO_O_LOCK) = 0;        ROM_GPIOPinTypeGPIOInput(GPIO_PORTC_BASE, (GPIO_PIN_0 | GPIO_PIN_1 |                                                   GPIO_PIN_2 | GPIO_PIN_3));        //        // Turn off the LED to indicate that the pins are in GPIO mode.        //        ROM_GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, 0);    }}//*****************************************************************************//// Toggle the JTAG pins between JTAG and GPIO mode with a push button selecting// between the two.////*****************************************************************************intmain(void){    unsigned long ulMode;    //    // Set the clocking to run directly from the crystal.    //    ROM_SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |                       SYSCTL_XTAL_16MHZ);    //    // Enable the peripherals used by this application.    //    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);    ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);    //    // Configure the push button as an input and enable the pin to interrupt on    // the falling edge (i.e. when the push button is pressed).    //    ROM_GPIOPinTypeGPIOInput(GPIO_PORTB_BASE, GPIO_PIN_4);    ROM_GPIOPadConfigSet(GPIO_PORTB_BASE, GPIO_PIN_4, GPIO_STRENGTH_2MA,                         GPIO_PIN_TYPE_STD_WPU);    ROM_GPIOIntTypeSet(GPIO_PORTB_BASE, GPIO_PIN_4, GPIO_FALLING_EDGE);    ROM_GPIOPinIntEnable(GPIO_PORTB_BASE, GPIO_PIN_4);    ROM_IntEnable(INT_GPIOB);    //    // Configure the LED as an output and turn it on.    //    ROM_GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_0);    ROM_GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0, GPIO_PIN_0);    //    // Set the global and local indicator of pin mode to zero, meaning JTAG.    //    g_ulMode = 0;    ulMode = 0;    //    // Initialize the UART.    //    GPIOPinConfigure(GPIO_PA0_U0RX);    GPIOPinConfigure(GPIO_PA1_U0TX);    ROM_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);    UARTStdioInit(0);    UARTprintf("\033[2JGPIO <-> JTAG\n");    //    // Indicate that the pins start out as JTAG.    //    UARTprintf("Pins are JTAG\n");    //    // Loop forever.  This loop simply exists to display on the UART the    // current state of PC0-3; the handling of changing the JTAG pins to and    // from GPIO mode is done in GPIO Interrupt Handler.    //    while(1)    {        //        // Wait until the pin mode changes.        //        while(g_ulMode == ulMode)        {        }        //        // Save the new mode locally so that a subsequent pin mode change can        // be detected.        //        ulMode = g_ulMode;        //        // See what the new pin mode was changed to.        //        if(ulMode == 0)        {            //            // Indicate that PC0-3 are currently JTAG pins.            //            UARTprintf("Pins are JTAG\n");        }        else        {            //            // Indicate that PC0-3 are currently GPIO pins.            //            UARTprintf("Pins are GPIO\n");        }    }}
    9. LM3S系列的ROM RUN和RAM RUN 12/8514 微控制器 MCU 2011-07-22
      能贴出_delay_ms()的具体实现吗?问题应该出在这个函数。看看具体实现,就可以进一步分析了
    10. Flash烧写程序初始化失败.BS ??? 1/4881 微控制器 MCU 2011-07-16
      这种去问题请贴图,或者给出相信错误信息,否则不太容易判断。 不过,你可以首先尝试使用LM Flash Programmer对其解锁,有可能JTAG口被锁住。
    11. 请下载StellarisWare软件包,在boards\dk-lm3s9b96目录下,用keil打开一个工程,看其属性里的配置即可! 请一定多利用好StellarisWare。
    12. 问下各位大侠,关于那个板载仿真器哈 1/3271 微控制器 MCU 2011-07-14
      请到http://focus.ti.com/mcu/docs/mcu ... d=632&orphantabId=8下载DK-LM3S9B96-CD,Board User's Manual 的ICDI 板载仿真器的原理图是不用CPLD的,是逻辑门电路搭出。
    13. 怎么使用uip源代码? 1/3594 微控制器 MCU 2011-07-14
      请到这里下载http://focus.ti.com/docs/toolsw/folders/print/sw-lm3s.html    StellarisWare,安装后在StellarisWare\boards\dk-lm3s9b96找到enet_uip项目,参考即可。 一定要学会使用StellarisWare软件包,里面资源非常丰富,有你所需要的各种材料和代码例程。
    14. TI 的DK-LM3S9B96开发套件怎样防锁死 14/8014 微控制器 MCU 2011-07-11
      原帖由 jayce 于 2011-7-2 00:31 发表 以前听人讲某些管脚是复用作JTAG的,不能配置成输入输出,否则就锁死了。想问一下管脚的复用是与外设有关还是内部设计好的,9b96开发套件要避免把哪个脚配置成IO口
      而这个解锁序列是在6楼提到的LM Flash Programmer实现的,按照6楼的提示即可对锁住的LM3S9B96芯片进行解锁。
    15. TI的DK-9B96开发板有没有引脚引出的? 5/3592 微控制器 MCU 2011-07-11
      原帖由 heich_tech 于 2011-7-5 14:15 发表 从图片上看不出来,是不是DK不引出引脚的?
      请看该DK-LM3S9B96的布局图,红色框出的即是引出的引脚。
    16. 楼主如果仔细对比不同家MCU的ADC spec就会发现,INL,DNL, offset都不好。 所以,MCU自带的ADC特性,不要有过高期待,特别是要应用到高精度测量和传感的场合。 Stellaris ADC特点如下: ■   Single-ended and differential-input configurations ■   On-chip internal temperature sensor ■   Maximum sample rate of one million samples/second ■   Optional phase shift in sample time programmable from 22.5o to 337.5o ■   Four programmable sample conversion sequencers from one to eight entries long, with corresponding conversion result FIFOs ■   Flexible trigger control –   Controller (software) –   Timers –   Analog Comparators –   PWM –   GPIO ■   Hardware averaging of up to 64 samples for improved accuracy ■   Digital comparison unit providing eight digital comparators ■   Converter uses an internal 3-V reference or an external reference
    17. Stellaris针对zigbee, bluetooth的开发套件已经提供,后续针对wifi应用的套件也很快推出; 还有,Stellaris在motor控制的应用会越来越普遍,推广力度会加大。
    18. 楼主可以在下面链接购买DK-LM3S9B96开发板,性价比挺高 http://www.embedinfo.com/list.asp?id=349
    19. 【问TI】贵司有没有驱动库的CHM文档 6/3597 微控制器 MCU 2011-06-30
      TI的PDF版本查找也很方便啊,章节和函数都是可以直接点击 并链接到相应内容的,楼主是否可以考虑改变一些使用习惯呢?
    20. "请问M3系列在以后的价格方面和供货方面是怎样的?" 请问,你是指针对你的价格和供货还是整个市场的情况? 如果你是公司需要,联系TI的代理商,价格可以根据你的用量来谈;供货LEAD time一般小于12周。

最近访客

< 1/1 >

统计信息

已有122人来访过

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

留言

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


现在还没有留言