Part Number: MSPM0G3507 Other Parts Discussed in Thread: SYSCONFIG Tool/software: I am using below code in FreeRTOS, with below code in ti_msp_dl_config.c file. SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init ( void ) { //Low Power Mode is configured to be SLEEP0 DL_SYSCTL_setBORThreshold (DL_SYSCTL_BOR_THRESHOLD_LEVEL_0); //DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_4M); DL_SYSCTL_configSYSPLL ((DL_SYSCTL_SYSPLLConfig *) & gSYSPLLConfig ); DL_SYSCTL_setULPCLKDivider (DL_SYSCTL_ULPCLK_DIV_1); //DL_SYSCTL_setMCLKSource(SYSOSC, HSCLK, DL_SYSCTL_HSCLK_SOURCE_SYSPLL); } If I uncomment DL_SYSCTL_setMCLKSource code line, few of my MCU devices get lock-out. I mena some corruption occurs, and I nee dto get into BSL mode to recover. Wonder what can be wrong here? Note I am using internal clock for MCU. Regards, Bhushan
↧
Forum Post: MSPM0G3507: MCLK switching causes
↧
Forum Post: RE: MCU-PLUS-SDK-AM243X: mmcsd/FreeRTOS-FAT and unresolved symbols
Thank you so much! I would never have found this option otherwise, and I'm very grateful you took the time to walk me through it.
↧
↧
Forum Post: RE: MCU-PLUS-SDK-AM243X: mmcsd/FreeRTOS-FAT and unresolved symbols
Hello, Glad to hear that you are now able to build. Happy to help . Regards, Tushar
↧
Forum Post: RE: TMS320F2800157: 48V Encoder motor sometimes running in uncontrolled maximum speed - Alignment issues
Hello Genatco, Can you please, explain first point you mentioned above in brief because I am not getting what you are saying. Whether you are suggesting me to use default UMC logic, just by turning on low side MOSFETs and turning off high side MOSFETs? Without generating PWM with fixed duty cycle. Regards, Kirana H P
↧
Forum Post: RE: TMS320F28375S: When I change the PWM PRD value, there is an incorrect switch in the PWM duty cycle for one cycle
Hello, When using variable frequency, it is recommended to use Global load mechanism to make sure all the transfer from shadow to active registers happen at the same event.
↧
↧
Forum Post: TM4C1230C3PM: Print main.c variable in console during debug with GEL_TextOut
Part Number: TM4C1230C3PM Tool/software: Hi, I have a program where I measure a voltage and a current and i want to be able to print it in the console while debugging. I use 2 variables, ui32Vbustest and ui32IShunttest, calculated with these functions: void readVoltage() { float fVBus_Float_Value; I2C_LIBDataVBusGetFloat(&g_sI2C_LIBInst, &fVBus_Float_Value); ui32Vbustest = (uint32_t) (fVBus_Float_Value * 1000); // Vbus unsigned int in milliVolts } void readCurrent() { uint16_t ui16VShunt_RAW_Value; I2C_LIBDataVShuntGetRaw(&g_sI2C_LIBInst, &ui16VShunt_RAW_Value); ui32IShunttest = (((ui16VShunt_RAW_Value & 0x7FFF) * 10) / 8); // I Shunt unsigned int in milli Amper } According to this page , I added to my GEL file: OnTargetConnect() { recordVariables(); } menuitem "Record Variables"; hotmenu startTimer() { // GEL_SetTimer(milliseconds, timer_id, "callback"); // Parameters // milliseconds: specifies the amount of time in milliseconds that should elapse between callbacks. // timer_id: specifies a number to uniquely identify this timer. // callback: is a string representing the GEL expression to evaluate every time the timer fires. GEL_SetTimer(5000, 1, "recordVariables()"); } hotmenu stopTimer() { // GEL_CancelTimer(timer_id); // Parameter: // timer_id: the id of the timer to cancel GEL_CancelTimer(1); } recordVariables() { GEL_TextOut("Voltage test \n"); GEL_TextOut("Voltage: %u \n",,,,,ui32Vbustest); GEL_TextOut("Current: %u \n",,,,,ui32IShunttest); } When I start debugging, the console shows this: CORTEX_M4_0: GEL Output: Memory Map Initialization Complete CORTEX_M4_0: GEL Output: Voltage test CORTEX_M4_0: GEL: Error while executing OnTargetConnect(): identifier not found: ui32Vbustest at GEL_TextOut("Voltage: %u \n", 0, 0, 0, 0, ui32Vbustest) [tm4c1230c3pm.gel:147] at recordVariables() [tm4c1230c3pm.gel:25] at OnTargetConnect() But when I declare a local int in GEL file, I can output it fine in the console. How can I make the GEL output function display the value of a variable declared in the main.c file? Thanks
↧
Forum Post: RE: TMS320F28P650DH: How does SysConfig ClockTree view affect the EPWMCLKDIV setting
Hi Prarthan, Here are the erros I get when I enable the device support. I added the device.c code below. e2e.ti.com/.../4540.device.c
↧
Forum Post: RE: TMS320F2800157: 48V Encoder motor sometimes running in uncontrolled maximum speed - Alignment issues
Actually, one of your TI colleague only suggested the reaserch paper regarding regenerative braking. I already mentioned that above. I am currently referring the same document because I need to control the regenerative energy. Correct me, if I am wrong, by simply turn on/off the MOSFETs, I am not able to control the regenerative energy which is produced from the motor. As I mentioned above in our application user should select the duty cycle or regenerative percentage. In this document also they explained the same thing. If you have any suggestions regarding this algorithm please let me know. My aim is to do regenerative braking and user should select the regenerative braking percentage. Can you please, specify how to approach this in universal motor code. Thank you, Regards, Kirana H P
↧
Forum Post: TMS320F280039C-Q1: if else execution time
Part Number: TMS320F280039C-Q1 Tool/software: Hi experts, Good day! I am asking for customer. My customer found that if{}else{} took a long time while testing 280039, so they rented the following tests with flash with 120MHz: 1. test if{A} with A=0 and A=1, time difference is 50ns. A=0 takes longer time. 2. test if {A}else{} with with A=0 and A=1 , time difference is 80ns. A=0 takes longer time. 3. test if {A}else{} with with A is a variable , takes 289ns 4. If the customer add 3 level optimization and test again, the time will decrease to 58ns The customer wants to know: 1. Why there is time difference between if(0) and if(1) in test 1 and 2? 2. Why if{}else{} takes so long time in 280039? 3. Is there any method that can reduce the if{}else{} execution time? Thanks! Best Regards Kita
↧
↧
Forum Post: RE: TMS320F28375D: TMS320F28375D: SCI BOOT Mode (FMSTAT Register contents:01010)
Xiao, Does it go into autobaud after this? That error message is output if a kernel file is not specified, even though it is not required for the application only version of the kernel, so it shouldn't be a problem. Best, Alex
↧
Forum Post: RE: TMS320F28379D: Debugging Dependencies with XDS110 Debug Probe
Hi, This error most commonly appears when attempting to set a hardware breakpoint, although it can appear when attempting to enable other "jobs" (debug operations) that may use an AET (or AET-like) resource. Are you running this project in Flash? A software breakpoint is implemented as an opcode replacement in RAM, and hence does not use a resource. There is no (theoretical) limit to the number of software breakpoints that can be set, while only ~2 hardware breakpoints can be set . Please refer to this document for troubleshooting resources: https://software-dl.ti.com/ccs/esd/documents/troubleshooting_no-aet-resources.html Best, Matt
↧
Forum Post: RE: C2000WARE: BootLoader development: Program jump problem
Hi, It appears the CPU is halting inside the boot ROM. Which device is this on? Can you share the linker command files (.cmd) for the bootloader and application? Best, Matt
↧
Forum Post: RE: TMS320F280025C: AD conversion does not start.
If you are testing on launchpad, lets run simple example directly from C2000ware. On launchpad...if using external Vref..Apply voltage on J15 header. Please change accordingly in the code. If you are running ex1, you need to manually connect those channels to some input value(for example you can place jumper from that analog pin to 3.3V on launchpad) Can you please try above and let me know,
↧
↧
Forum Post: TMS320F28388D: MPOST - Memory power on test
Part Number: TMS320F28388D Tool/software: Hello Support, questions to the MPOST: 1. what does it test? If the test succeed, what will be result at address 0x6? 2. how does it affect the booting up speed? I mean from the boot rom code starts until the boot rom code finishes? lets say configure the MPOST run with PLL enabled at 110 MHz. how can the execution time be measured? Thanks. Regards, Charles
↧
Forum Post: RE: TMS320F280025: Identification of motor parameters: C2000WareMotorontrol
Hi Yan, Which solution specifically are you using? (Ex. TIDM 2010, TIDA 010265 etc.) Best Regards, Delaney
↧
Forum Post: LAUNCHXL-F28P65X: Slow SCI Bootloader Transfer – 16ms Delay Between Bytes
Part Number: LAUNCHXL-F28P65X Tool/software: Dear Texas Instruments Support, I am currently working with the TMS320F28P65X microcontroller and testing the flash serial programming example using serial_flash_programmer.exe . The process is functional; however, I am experiencing extremely slow transfer speeds while loading the flash kernel into RAM via SCI boot mode. Observations: Kernel Load Time: ~8 minutes Application Load Time: 38400 baud , transfer could not be established. At 38400 baud , effective transfer rate: 500 bits/s At 9600 baud , effective transfer rate: 404 bits/s Bottleneck Identified: Using a logic analyzer, I observed that the flash kernel is being transferred byte by byte , with a minimum delay of 16ms between each byte . The time between bytes persists even after adjusting COM port configurations . Hardware Setup: To troubleshoot the issue, I modified my setup by connecting the XDS110 application/user COM UART to SCIA through the XDS110 Target Interface connector and GPIO12 and GPIO13 . Command used: serial_flash_programmer.exe -d f28p65x -a led_ex1_c28x_dual_blinky_cpu1.txt -n led_ex1_c28x_dual_blinky_cpu2.txt -b 34800 -p COM4 -v Questions: Expected Bootloader Timing: Is the 16ms inter-byte delay caused by the serial_flash_programmer.exe, or is this caused by external factors? Optimizing Transfer Speed: Are there any recommended settings, flow control mechanisms, or USB-to-serial adapters that would improve performance? Next Steps: My final goal is to download the flash kernel to Flash , so that the microcontroller can always boot from Flash instead of requiring loading the kernel. Once I have the kernel in Flash, I plan to modify both the flash kernel and the flash serial application to use the custom protocol already implemented in my powertrain system for compatibility. Any guidance on reducing the kernel load time, optimizing the bootloader process, and implementing a Flash-based boot approach would be greatly appreciated. Best regards, Luciano Vittori
↧
Forum Post: RE: AM2434: AM243x-LP
Hi Jinlong, [quote userid="617178" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1476771/am2434-am243x-lp/5669879#5669879"]Do you have mailing list such that I can be notified automatically on next release of motor control sdk? [/quote] You can receive release alerts by choosing the following option in MOTOR-CONTROL-SDK-AM243X Downloads Page Regards, Aaron
↧
↧
Forum Post: C2000WARE-MOTORCONTROL-SDK: Universal Motor Control Lab Motor Id Not Working
Part Number: C2000WARE-MOTORCONTROL-SDK Other Parts Discussed in Thread: BOOSTXL-DRV8323RH Tool/software: Hello, I am working with the the Universal Motor Control Lab on the 280025C LaunchPad + BoostXL-DRV8323RH, with the Anaheim_BLY172S_24V (a motor with settings already in user_mtr1.h). I imported the project from Motor Control SDK 5.02.00.00. If I run the motor using the settings in user_mtr1.h (flag_bypassMotorId = true), the motor runs well and as expected. I am testing out the Motor parameter ID function (DMC_BUILDLEVEL DMC_LEVEL_4). The only changes made after importing the project are setting the build configuration to Flash_lib_DRV3232RH_3SC, and changing the DMC_BUILDLEVEL. When I try the Motor ID function (userParams_M1.flag_bypassMotorId = false), the Motor parameter ID process runs to completion. The results however are not close to the settings in user_mtr1.h. When I try to run the motor with the parameters selected by the Motor ID function, the motor rotates at very low speed. As a guess, 15 RPM = 1Hz, despite speedRef = 40Hz, and increasing speedRef to 100Hz does not noticeably change the motor rotation. For Rs_Ohm, user_mtr1.h has ~0.4, and the motor parameter ID returned 0.001. For Ls_d/Ls_q, user_mtr1.h has 0.0006 and the value returned by the Motor ID procedure is 0.000001 For Rated Flux VpHz, user_mtr1.h has 0.034 and the value returned by the Motor ID procedure is 0.036...so this seems to be close. My expectation is that the Motor Parameter identification would return values close to what is in user_mtr1.h, and the motor would run well with the returned values. Any suggestions on what the issue may be, or how to troubleshoot? Thanks!
↧
Forum Post: RE: LAUNCHXL-F28P65X: Slow SCI Bootloader Transfer – 16ms Delay Between Bytes
Sorry: the used command was: ./serial_flash_programmer.exe -d f28p65x -k flash_kernel_c28x_dual_ex1_c28x1.txt -a led_ex1_c28x_dual_blinky_cpu1.txt -n led_ex1_c28x_dual_blinky_cpu2.txt -b 34800 -p COM7 -v
↧
Forum Post: RE: TMS320F28P650DH: How does SysConfig ClockTree view affect the EPWMCLKDIV setting
You would need to manually exclude the device.c and device.h from the build from SDK for only using the device.c/h generated from sysconfig Since these are generated from clocktree tool, the compiler is erroring out seeing this
↧