Quantcast
Channel: Microcontrollers
Viewing all 217141 articles
Browse latest View live

Forum Post: RE: TMS320F28377D: CSM password locking enquiry

$
0
0
Hi Vivek , I have changed the user otp manually in Uniflash gui and then called the called the above commands in a batch file. So the memory doesn't have the previous security settings anymore. I found another thread where the same problem was occurring : Do you think it the uniflash code is not right ? Let me know how I should proceed. Regards Anish

Forum Post: RE: RM48L940: Diagnostics for GPIO

$
0
0
Hi, << For peripherals like MIBSPI and CAN that are configured for use as GPIO, what is the appropriate safety diagnostics to run? Is any of the RAM test << necessary for peripherals when they are configured and used as GPIO? I Would assume not as the RAM is not used. << What kind of safety diagnostics are supported for GIOA and GIOB? The safety manual for RM48xx (spnu577d) names 5 diagnostics for GIO: GIO1A : Boot Time Software Test of Function Using I/O Checking In GIO Mode. GIO1B : Periodic Time Software Test of Function Using I/O Checking In GIO Mode. GIO2 : Information Redundancy Techniques. GIO3 : Periodic Software Readback of Static Configuration Registers. GIO4 : Software Readback of Written Configuration.

Forum Post: RM48L952: Missing document: "TPS design document "

$
0
0
Part Number: RM48L952 Hi, I contacted costumer support, but they forwarded me to ask my question on the e2e forum. We purchased the SAFETI-HERCULES-DIAG-LIB-CSP . In the SafeTI Hercules Diagnostic Library Architecture Document (DOCUMENT ID: TI-SW-00199-SAD-01) section 3.1.3.6 on page 15 states : "TPS driver architecture is covered in the TPS design document". However, no reference to such document is available in the references section on page 21. I also can not find such document in the CSP nor in the documentation which is openly available. Where can I find this document? Best regards, Karel

Forum Post: RE: EK-TM4C123GXL: UART receives part of the message, with or without FIFO

$
0
0
Hi, Thank you for your response. I didn't think that the picture may mislead here. In the oscilloscope, the names are default ones, they have nothing to do with CLK or DATA. The blue line is the transmission from TIVa to the sensor, yellow one is the response. It is supposed to receive 45 bytes and stops after 6 bytes read and continues to poppulate the array with exact same values, that is my question why it does that. I have managed to fix that issue as it was the delay I kept from the example which I removed from the interrupt handler and it fixed that issue - it reads whole message. However it still adds a zero to first position of the array and only after that the response from the message. That is the only issue left to resolve. I do know that with other MCUs I have usued I didn't have this 0x00 byte added when interrupt is triggered and it is not part of the message, it just seems that the Tiva adds it by itself.

Forum Post: CCS/TMS320F28335: tms320f28335

$
0
0
Part Number: TMS320F28335 Tool/software: Code Composer Studio Hi my question is about “how to load application to FLASH RAM without emulator by SCI Boot loader.” The documents I have referred are “Serial Flash Programming of C2000™ Microcontrollers “and “TMS320x2833x, 2823x Boot ROM Reference Guide “. I’ve already checked hardware system I set for SCI communication with SCI echoback example code by TI. SCI communication goes well with my F28335 so it doesn’t seems to be have any issues on the hardware setting. My F28335 communicates with PC host through RS232 protocol. The photo below is the issue I have faced and i am unable to solve it out. I am guessing I put the wrong argument onto command argument inbox that can be found at “debugging tag” of Serial flash programmer property. The line below is the argument i gave. -d f2833x -k C:\ti\c2000\ C2000Ware _1_00_06_00\device_support\f2833x\examples \f28335_flash_kernel\Debug\f28335_flash_kernel.txt –a E:\CCS_Project\practice_v3.0\Debug\practice_v3.0.txt -p COM4 -b 9600 The reason I did those things above is because I referred the line 6 and 7 of “6.2.2 Building serial_flash_programmer in Visual Studio” in the document “Serial Flash Programming of C2000™ Microcontrollers". As the document I have mentioned above explains how to convert the .out file to .hex file at “6.1.1 Kernels” in the document mentioned above, i followed it with uncertainty. I enabled the hex2000 utility for f28335 flash kernel example in CCS and set my project property as below with a hope that I did well to produce the hex file required for SCI boot loader. It is said the format must be in the ASCII SCI boot format, which is why I check the square boxes as the photos above. I gave the same options to my project targeted to be load in FLASH RAM. After the setting above from ehx2000 utility, I could see hex file. I changed the .hex extension to .txt because of the description of “6.1.1 kernels” section. “f28335_flash_kernel.txt and “practice_v3.0.txt” are the extension modified files I got after build process. I have checked the boot mode select pins (GPIO 87, 86, 85, and 84). I set them for the boot by SCI loader so there seems to be no any problem. Thanks for your patience and your sincere answer on my question I appreciate!

Forum Post: RE: TMS320F28379D: Code Can be debugged successfully in CPU1_RAM build configuration but enters into illegal ISR once DELAY_US(1000) is called

$
0
0
Hi Akshay, Good to know that you have already resolved the issue. Regards Himanshu

Forum Post: CCS/MSP430FR5869: Can not successfully make a crc-16

$
0
0
Part Number: MSP430FR5869 Tool/software: Code Composer Studio I've been reading through the documentation in the user guide for the MSP430FR58xx family regarding the CRC-16 module. I use two variables in the test code. One with a seed, and one with the test data, that I want the CRC of. I have also defined the "baseAddress", which is used with the crc-related functions. The code looks something like this (it's in C++) Testcode: " uint16_t baseAddress = 0x0150; uint16_t seed = 0; uint16_t data = 123; CRC_setSeed(baseAddress, seed); //Initializing CRC module CRC_set16BitData(baseAddress, data); //Sending input data CRC_set16BitData(baseAddress, seed); //sending 16 0's to shift out the databits uint16_t result = CRC_getResult(baseAddress); //Storing the result in variable " I used uint16_t sizes as that is what the functions take as arguments. The above code gives the following result (in hex): 0A59 When I use the "bitsReversed" functions the result is (in hex): 563A It seems to work in a very simple manner with the functions, but at this point, I recognize that I must be doing something wrong. I'm looking for anyone who can tell me what's wrong. Thanks in advance. I checked my values with a bunch of online CRC-16 calculators, but nothing matches my output.

Forum Post: CCS/TMS320F28335: tms320f28335

$
0
0
Part Number: TMS320F28335 Tool/software: Code Composer Studio Hi my question is about “how to load application to FLASH RAM without emulator by SCI Boot loader.” The documents I have referred are “Serial Flash Programming of C2000™ Microcontrollers “and “TMS320x2833x, 2823x Boot ROM Reference Guide “. I’ve already checked hardware system I set for SCI communication with SCI echoback example code by TI. SCI communication goes well with my F28335 so it doesn’t seems to have any issues on the hardware setting. My F28335 communicates with PC host through RS232 protocol. The photo below is the issue I have faced and I am unable to solve it out. It just stopped and didn't run next step. I am guessing I put the wrong argument onto command argument inbox that can be found at “debugging tag” of Serial flash programmer property. The line below is the argument I gave. -d f2802x -k C:\ti\c2000\ C2000Ware _1_00_06_00\device_support\f2833x\examples\f28335_flash_kernel\Debug\f28335_flash_kernel.txt –a E:\CCS_Project\practice_v3.0\Debug\practice_v3.0.txt -p COM4 -b 9600 The reason I did those things above is because I referred the line 6 and 7 of “6.2.2 Building serial_flash_programmer in Visual Studio” in the document “Serial Flash Programming of C2000™ Microcontrollers“. As the document I have mentioned above explains how to convert the .out file to .hex file at “6.1.1 Kernels” in the document, I followed it in uncertainty. I enabled the hex2000 utility for f28335 flash kernel example in CCS and set my project property as below with a hope that I did well to produce the hex file required for SCI boot loader. It is said the format must be in the ASCII SCI boot format, which is why I check the square boxes as the photos above. I gave the same options to my project targeted to be load in FLASH RAM. After the setting above from hex2000 utility, I could see .hex file. I changed the .hex extension to .txt because of the description of “6.1.1 kernels” section. “f28335_flash_kernel.txt and “practice_v3.0.txt” are the extension modified files I got after build process. I have checked the boot mode select pins (GPIO 87, 86, 85, and 84). I set them for the boot by SCI loader so there seems to be no any problem. Thanks for your patience and your sincere answer on my question I appreciate!

Forum Post: MSP430F5529: MSP430F5529 switch between USB and UART bootloader

$
0
0
Part Number: MSP430F5529 Hi guys, I've been struggling to erase my factory programmed USB bootloader of my MSP430F5529 target and to change it with an UART BSL. So far I have no luck ... This thread is not efficient: https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/658145?MSP430F5529-Switch-between-UART-BSL-and-USB-BSL and leads me nowhere. I tried to download TI's UART bootloader from here: http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBSL_CustomBSL430/latest/index_FDS.html and flash with mspdebug the HEX file: MSP430BSL_1_01_00_00/Released_BSL_Images/MSP430F552x_550x_Family/UART BSL/BSL.00.07.05.04.txt but I get an error: Writing 1900 bytes at 1000... tilib: MSP430_Memory: Could not perform access, BSL memory segments are protected (error = 62) I'm on Ubuntu 18.04, 64-bit. I can flash a simple blinky with mspdebug or with Code Composer Studio, but I cannot unlock the BSL segment to rewrite the bootloader. I'd like to hear if someone managed to make the switch between USB BSL -> UART BSL on an MSP430F5529 , I don't care if it's Windows or Linux. Regards, L. B.

Forum Post: CCS/TM4C123GH6PM: SD Card overwrites previous data written

$
0
0
Part Number: TM4C123GH6PM Tool/software: Code Composer Studio Hi all, I am currently trying to make a stable communication between my Tiva TM4C123GH6PM and a SD Card. I need it because I want to save data from a variety of sensors in a single line in a text file continuously. I am able to create and write some data in the text file, but only once, because everytime the program remounts it, it seems like the position of the cursor of the text file resets, and the data gets overwritten. Is there a way to save the position of the cursor even when the file is closed and dismounted? Or is there a way to write in the text file without needing to close and dismount it? I am putting my program here for better analysis of the situation. Currently using the mmc-dk-tm4c123g.c examples to help. Regards, Álvaro. (Please visit the site to view this file)

Forum Post: CCS: CANOpen with InstaSpin, electronic dictionary.

$
0
0
Tool/software: Code Composer Studio Hi, Does TI have a minimum electronic dictionary recommendation for CAN-Open with InstaSpin? If you have a format "eds". It would be great. Thank. Andrew.

Forum Post: TMS320F28379D: DMA not clearing ADC interrupt

$
0
0
Part Number: TMS320F28379D I am using a configuration where the EPWM2A is triggering ADCD conversions. ADCDINT! is enabled and each ADCDINT1 should trigger a DMA burst of 1 x 16bit read from AdcdResultRegs.ADCRESULT0. A DMA transfer consists of 100 such reads from the same register and then the DMA should interrupt the CPU at the end of the transfer. My observation is that the first DMA trigger is happening and the first ADC result is read. However, the ADCINT1FLG is not being cleared at this point and this stops any further interrupts being generated by the ADC. My understanding is that "Upon receipt of a peripheral interrupt event signal, the DMA will automatically send a clear signal to the interrupt source so that subsequent interrupt events will occur." So, I thought all I had to do was DmaClaSrcSelRegs.DMACHSRCSEL1.bit.CH1 = DMA_ADCDINT1; and the DMA would take care of clearing the interrupt on the ADC. I have confirmed this "stuck int flag" is the cause of the issue by hacking the software to clear the ADC flag while waiting for the buffer to fill : while(RxBufReady == RX_NOT_READY) { AdcdRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; // Clear ADC INT1 flag } By clearing this flag in SW (which is obviously undesirable in the real system) I get the DMA transfer to complete and the DMA ISR is called. Without the line to clear the flag, the DMA transfer never completes. Another way I confirmed the stuck flag issue was to set the ADCINTFLGCLR in CCS. Every time I cleared the flag manually one more DMA read took place and then I was back in the same position with the flag set and no further ADC interrupts. So, am I missing something here ?? I thought by triggering the DMA on ADCDINT1 is would automatically clear the INTFLG for me?? Regards Lorraine

Forum Post: TMS570LC4357: ADC integration failure

$
0
0
Part Number: TMS570LC4357 Hi, I tried to integrate ADC using the example from the installation example_adcDisplau.c When i run the build, it is always stuck in the below while loop, though i changed the SCI pins to Tx and Rx. Please provide me the proper example or configuration file to get start with. void sciDisplayText(sciBASE_t *sci, uint8 *text,uint32 length) { while(length--) { while ((sci->FLR & 0x4) == 4); /* wait until busy */ sciSendByte(sci,*text++); /* send out text */ }; } Regards, Somesh

Forum Post: TMS570LC4357: FreeRTOS demo hang

$
0
0
Part Number: TMS570LC4357 I created a simple demo using the FreeRtos profile for HalCogen and compiled it using CC8.3.0. The entirety of the code is here: /** @file HL_sys_main.c * @brief Application main file * @date 07-July-2017 * @version 04.07.00 * * This file contains an empty main function, * which can be used for the application. */ /* * Copyright (C) 2009-2016 Texas Instruments Incorporated - www.ti.com * * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the * distribution. * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ /* USER CODE BEGIN (0) */ #include #include #include #include #include #include /* USER CODE END */ /* Include Files */ #include "HL_sys_common.h" /* USER CODE BEGIN (1) */ /* USER CODE END */ /** @fn void main(void) * @brief Application main function * @note This function is empty by default. * * This function is called after startup. * The user can use this function to implement the application. */ /* USER CODE BEGIN (2) */ static QueueHandle_t tickQueue = NULL; static uint32 LEDState = 0; static void tickTask( void *pvParameters ) { uint32_t val; gioSetBit(gioPORTB,6,1); for( ;; ) { /* Wait until something arrives in the queue - this task will block indefinitely provided INCLUDE_vTaskSuspend is set to 1 in FreeRTOSConfig.h. */ xQueueReceive( tickQueue, &val, portMAX_DELAY ); gioSetBit(gioPORTB,7,LEDState); LEDState = 1 - LEDState; // printf("Val: %d\n",val); } } /* USER CODE END */ uint8 emacAddress[6U] = {0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU, 0xFFU}; uint32 emacPhyAddress = 1U; int main(void) { /* USER CODE BEGIN (3) */ gioInit(); printf("Startup!\n"); tickQueue = xQueueCreate( 10, sizeof( unsigned long ) ); assert(tickQueue); BaseType_t stat = xTaskCreate( tickTask, /* The function that implements the task. */ "ticker", /* The text name assigned to the task - for debug only as it is not used by the kernel. */ configMINIMAL_STACK_SIZE, /* The size of the stack to allocate to the task. */ 0, /* The parameter passed to the task - just to check the functionality. */ tskIDLE_PRIORITY + 1 , /* The priority assigned to the task. */ NULL ); /* The task handle is not required, so NULL is passed. */ assert(stat == pdPASS); vTaskStartScheduler(); /* USER CODE END */ return 0; } /* USER CODE BEGIN (4) */ uint32_t count = 0; uint32_t divider = 10; void vApplicationTickHook( void ) { count++; if (count % divider == 0) { xQueueSendFromISR( tickQueue, (void*)count, NULL ); } } /* USER CODE END */ The example runs for about 24 hours then hangs. Breaking into the execution brings me here: resetEntry b _c_int00 undefEntry b undefEntry b vPortSWI prefetchEntry b prefetchEntry dataEntry b dataEntry b phantomInterrupt ldr pc,[pc,#-0x1b0] ldr pc,[pc,#-0x1b0] ;------------------------------------------------------------------------------- The debugger highlights the "b dataEntry" line. I set the tick rate on the OS config tab to 100Hz. Any idea why this is happening?

Forum Post: MSP432P401R: MSP432P401R

$
0
0
Part Number: MSP432P401R Can you use the adc COMP_E module in an RTOS environment. I can run the COMP_E module using the driverlib example "comp_e_interrupt_output_toggle_vref12v", however, I cannot find a similar example under RTOS. I have tried running the driverlib code in an RTOS environment and while the program loads and runs there is no interrupt from P5.7. Can you point me in a direction to help me out. thanks. Dave

Forum Post: TM4C1233H6PZ: USB interface lacks USB_VBUS signal

$
0
0
Part Number: TM4C1233H6PZ The other microcontrollers in this family have a dedicated USB0VBUS pin, but this one does not. At least, the data sheet doesn’t show one. This one only has 2 USB signals, USB0M and USB0P. I understand this signal is used as an input and an output when the USB enumerates. Two questions: What hardware should I be using to interface the microcontroller to the VBUS pin on the USB connector? What has to happen to the USB software driver to accommodate this?

Forum Post: TM4C123GH6PM: TM4C123GH6PM:

$
0
0
Part Number: TM4C123GH6PM i'm using tm4c123gh6pm kit , when i'm using a uart in kit i access something in wrong ,i was use my custom driver ,so the controller give me hw fault interrupt ,after many of tries the target goes to lock state and not accept any downloading however ICDI driver was known on device manager ,then i used LM flash to unlock ICDI but the operation dosen't success and the ICDI driver wasn't known by device manager ,when i connect the kit to my Lab-top no action occurs and no device driver for ICDI shown ,so i think that the ICDI Firmware goes lost and i need the bin file to flash it through jtag

Forum Post: TMS320F28335: ePWM deadband delay

$
0
0
Part Number: TMS320F28335 Using Figure 32 in the ePWM user's guide as a reference diagram, I have a question as to the expected behavior on the output(s) of the ePWMxA and ePWMxB signals. If the original PWM signal input, ie. EPWMxA.in (as illustrated in Figure 31) actually had a the falling edge of the input waveform occur before the rising edge delayed signal occurred, what would the expected EPWMxA output look like? The modified falling edge is depicted by the red (color) line below. It is meant to occur before the rising edge of the RED signal. Would the ePWMA output have a similar waveform as the input, just delayed by RED and FED accordingly? Or would the ePWMA output be suppressed?

Forum Post: LAUNCHXL-F28069M: c2000 + TMC4671-EVAL+ TMC-UPS-10A70V-EVAL

$
0
0
Part Number: LAUNCHXL-F28069M Hello I was wondering if I can combine these 3 to make a motor controller out of it. is there any possible way to do that? since the main CPU of the TMC has less frequency compared with F28069m, I wanted to get rid of that and use C2000 instead. any help appreciated. Thanks in advance.

Forum Post: TMS320F28035: CSM application: load program but fails to verify

$
0
0
Part Number: TMS320F28035 My customer is having issues verifying the code after loading it when using password for CSM. We are using the latest version of Uniflash and loading a hex file. 1. Does Uniflash reset the device at the end of loading the code? Will device lock automatically after that? 2. We are unable to verify the code even after successfully unlocking it. 3. Any reason why we are getting the load/verification error at 0x003F7FFB? When trying verification immediately after unlocking the device, we see error 0x3E8001. 4. We are putting the device in wait mode by pulling GPIO34 low. GPIO31 is TDO and we are leaving it alone - should we do something about TDO? Thank you!
Viewing all 217141 articles
Browse latest View live