Maybe I could send You my GANG to check ? I think, buying another would not solve my problem. Our company has bought two devices, and both are working the same.
↧
Forum Post: RE: MSP-GANG: MSP-GANG can't program FR6879 through JTAG
↧
Forum Post: RE: AM2431: How to handle OSPI0 and OSPI1
Hi Vaibhav, Thank you for your reply. I understood that the OSPI controller can address one CS line at a time. Our customer connects their device to OSPI. Then he wants to connect a FlashROM to SPI. He is running the device configuration in CCS, but when he turns on the FlashROM, it adds to the number of OSPI used as follows. If only one OSPI can be used, the FlashROM to be used this time is SingleSPI, so if it can be used with SPI, it can be supported. Is there a way to switch between the OSPI and SingleSPI? Please let me know how to switch this. Best Regards, Kanae
↧
↧
Forum Post: RE: AM2432: PCIe driver doesn't work correctly on Gen 1 mode.
Hi Dominic, Thank you so much for your answer and sorry for my delayed response. The customer has been able to confirm that PCIe communication between two AM243x EVMs is working by some modifications. Could you check if there is no problem in their modification of SDK for PCIe Gen 1 usage ? Version : MCU+ SDK AM243x Ver.9.01.00.41 Library : Drivers.am243x.r5f.ti-arm-clang.debug.lib (No modification) [ Modification ] 1. Set the structure “Pcie_DevParams” .linkSpeed as the structure “Pcie_Attrs” .gen 2. Call Pcie_open() (In the example code, Drivers_open() is called.) Added the following five lines. extern Pcie_InitCfg Pcie_initCfg; extern Pcie_Attrs gPcieAttrs[]; void func(void) { Pcie_DevParams *p_Pcie_DevParams; p_Pcie_DevParams = Pcie_initCfg.dev.basesPtr[0]->devParams; p_Pcie_DevParams->linkSpeed = gPcieAttrs[0].gen; Drivers_open(); . . . } [ Results ] They confirmed that the transfer time of Gen 1 became twice of that of Gen2. How to confirm In the Block transfer Set GPIO to High when the first data of block is received at receiver. Set GPIO to Low when the last data is received. Measure the time between High and Low. Confirmed Register Address : 0x0F10_0014 - Bit [5:4] = 01 (at Gen 2 setting), 00 (at Gen 1 setting) Reference : PCIE0_LINKSTATUS Register (Offset = 14h) bit[5:4] : NEGOTIATED_SPEED 11: 16 GT/s 10: 8 GT/s 01: 5 GT/s 00: 2.5 GT/s [ Details of Operation in Driver ] The structure “Pcie_DevParams” is declared with the initial value in the pcie_soc.c. “Pcie_DevParam” .linkSpeed is fixed as PCIE_GEN2. ---- 1) The structure “Pcie_Attrs” defined in the pcie.h is declared with the initial value in the ti_drivers_config.c. This initial value is set by SysConfig tool. If Gen 1 is set by SysConfig, “Pcie_Attrs” .gen = PCIE_GEN1 ---- 2) When Gen 1 is set by SysConfig, the setting of 1) and 2) doesn’t match, False. This is the root cause why program counter cannot exit from Pcie_open() and Gen 1 didn’t work. If their modification mentioned above is applied, 1) can match with 2), the program can exit and Gen 1 can work. Please check if their modification is correct. Thanks and regards, Hideaki
↧
Forum Post: TMS320F28377S: Tms320f28377s secure boot
Part Number: TMS320F28377S Tool/software: Hello, We want to do secure boot with tms320f28377s, but it seems to exist in the datasheet of the processor, but there is no information about secure boot in the TRM, there is only information about the use of DCSM, I wonder if this processor is not available in this processor, if not, how can we do this process manually? Our goal is to understand that the correct software is installed when the device is reset, that is, we want to do an integrity check. Thanks,
↧
Forum Post: RE: TMS320F280039: CMAC check in customer bootloader
Hello, Luke These register(Z1OTP_CMACKEY0|1|2|3) is defined in user otp, does these registers can be written more than one time? Or if one bit change to 0, it cannot be changed anymore?
↧
↧
Forum Post: RE: MSPM0G3507: lp-MSPM0G3507
Thank you for your reply. I am currently facing a strange issue in Keil uVision. When I write the code in a certain way, I am unable to flash the microcontroller. However, when I comment out the register DOUTCLR31_0 , I am able to flash the microcontroller. Please note that this strange behavior occurs with optimization level -O0. I know I should ask Keil uVision directly, but I wanted to ask you about this strange behavior as well. Best regards, Ali
↧
Forum Post: RE: MCU-PLUS-SDK-AM263X: MMCSD not working - bugged or missconfig?
Hi Took the project, installed everything on a brand new machine (no prior TI kits installed). The devboard is the official LP-AM263, not your CC board. This might matter. [Cortex_R5_0] ASSERT: 0.734s: mmcsd/v1/mmcsd_v1.c:MMCSD_open:254: status == SystemP_SUCCESS failed !!! Exactly the same devboard, same SD card (no HW changes, the board is the same PCB), using SDK9, compiler 3.0.0 and Sysconfig 1.20: This shows me that the CC and LP projects are not compatible - the CC project will not work on the LP board (even if the EMMC pins, EMMC settings, SD CARD ENABLE PIN is the same). I do not know why. So probably we should not expect to have it working with SDK10 either. To doublecheck I did took the LP project on the newly installed SDK10 machine: Did try without opening the syscfg, than I opened it (to have it ported to new sysconfig) - neither works. So it seems the LP board does not works with SDK10, the CC might since it works for you but I can't doublecheck that. Best regards, Barna
↧
Forum Post: MSP430FR6043: FR6043_USSSWLib_template_example
Part Number: MSP430FR6043 Tool/software: Hi, I am working on the optimizing the overall current consumption (LPM3) in custom board. I configured the GPIO as per my board configuration with LPM3 and the overall current consumption was ~60uA . Similarly when I run the FR6043_USSSWLib_template_example code with the GPIO configuration it is consuming ~700uA to 900uA . We are trying to implement as per the below logic, Please refer our GPIO configuration, void gpioSetup() { PM5CTL0 &= ~LOCKLPM5; /*----- Configure P1.0 as an analog input-----*/ GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1, GPIO_PIN0, GPIO_TERNARY_MODULE_FUNCTION); /*----- Configure P1.1 as an analog input-----*/ GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1, GPIO_PIN1, GPIO_TERNARY_MODULE_FUNCTION); /*----- Configure P1.2 as an analog input-----*/ GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1, GPIO_PIN2, GPIO_TERNARY_MODULE_FUNCTION); /*----- Configure P2.2 as an analog input-----*/ GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P2, GPIO_PIN2, GPIO_TERNARY_MODULE_FUNCTION); /*----- Digital Output-----*/ GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN3); //VD_NSLEEP GPIO_setOutputLowOnPin(GPIO_PORT_P1,GPIO_PIN3); //VD_NSLEEP GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN4); //VD_IN1 GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN5); //VD_IN2 GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN6); //VD_MODE GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN7); //LCDS GPIO_setAsInputPinWithPullDownResistor(GPIO_PORT_P2, GPIO_PIN0); //FCS GPIO_setAsOutputPin(GPIO_PORT_P2,GPIO_PIN1); //BC_EN GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P2, GPIO_PIN3); //BC_FLT GPIO_setAsOutputPin(GPIO_PORT_P3,GPIO_PIN0); //NA GPIO_setAsInputPinWithPullDownResistor(GPIO_PORT_P3, GPIO_PIN1); //FOS GPIO_setAsOutputPin(GPIO_PORT_P3,GPIO_PIN2); //NA GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P3, GPIO_PIN3); //HS1 GPIO_setAsInputPinWithPullDownResistor(GPIO_PORT_P3, GPIO_PIN4); //Display WU GPIO_setAsOutputPin(GPIO_PORT_P3,GPIO_PIN5); //COM3 GPIO_setAsOutputPin(GPIO_PORT_P3,GPIO_PIN6); //NA GPIO_setAsOutputPin(GPIO_PORT_P3,GPIO_PIN7); //NA GPIO_setOutputLowOnPin(GPIO_PORT_P3,GPIO_PIN6); GPIO_setOutputLowOnPin(GPIO_PORT_P3,GPIO_PIN7); GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN0); //NA GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN1); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN2); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN3); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN4); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN5); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN6); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P4,GPIO_PIN7); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN0); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN1); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN2); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN3); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN4); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN5); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN6); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P5,GPIO_PIN7); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN0); //LCDS GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN1); //LCD_R GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN2); //LCD_R GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN3); //LCD_R GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN4); //COM0 GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN5); //COM1 GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN6); //COM2 GPIO_setAsOutputPin(GPIO_PORT_P6,GPIO_PIN7); //NA /*----------------------------------------*/ } Regards, Sarwath
↧
Forum Post: TMS320F2800137: Boot Mode in DCSM
Part Number: TMS320F2800137 Tool/software: Expanding on this : https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1391394/tms320f2800137-boot-mode-in-dcsm/5322270#5322270 Is this all I need to configure? I don't want to lock the device or require any password. I also want to be able to program both RAM / Flash through a external debugger ( for example xds200 ) . Will that be an issue? And then i just copy the 2 dcsm files to any simple project eg led blinky and upload? and these pins . What should I set them to ? To flash or Wait Boot mode?
↧
↧
Forum Post: TMS320F280039C: No watchdog reset if no delay applied between config and activation
Part Number: TMS320F280039C Tool/software: During the tests to simulate an infinite loop, I noticed that the watchdog reset didn't occur 100% of the time. With 10 tries, I have 3 cases where the reset occurred and 7 cases where the software doesn't do a reset. The code sequence I use for configuration is: /*Configure predivider*/ SysCtl_setWatchdogPredivider(SYSCTL_WD_PREDIV_512); /*Configure prescaler*/ SysCtl_setWatchdogPrescaler(SYSCTL_WD_PRESCALE_64); /*Configure watchdog mode*/ SysCtl_setWatchdogMode(SYSCTL_WD_MODE_RESET); /* Enable watchdog */ SysCtl_enableWatchdog(); With the optimizations set to level 4. The workarounds to get a reset on every try are as follows : Define the optimizations to 0 OR Add a delay of 1µs between SysCtl_setWatchdogMode and SysCtl_enableWatchdog OR Comment the line SysCtl_setWatchdogMode(SYSCTL_WD_MODE_RESET); OR Update the sequence of the code by : SysCtl_setWatchdogMode(SYSCTL_WD_MODE_RESET); SysCtl_setWatchdogPredivider(SYSCTL_WD_PREDIV_512); SysCtl_setWatchdogPrescaler(SYSCTL_WD_PRESCALE_64); SysCtl_enableWatchdog(); In case I try with this sequence I have the same problem : SysCtl_setWatchdogPredivider(SYSCTL_WD_PREDIV_512); SysCtl_setWatchdogMode(SYSCTL_WD_MODE_RESET); SysCtl_setWatchdogPrescaler(SYSCTL_WD_PRESCALE_64); SysCtl_enableWatchdog(); When I look at the disassembly code, turning off optimizations results in more code (function calls) With Optimizations : Without Optimizations When the watchdog reset doesn't occurs I can see that the register is configured the same way as when it works : The WDCNT then increases to 0x00FF then returns to 0 but without triggering a reset. Tests seem to show that when configuring Watchdog Mode it's necessary to apply a certain delay before activating the watchdog, otherwise sometimes the reset doesn't occur even if the register indicates that the watchdog reset is enabled. Can you confirm the problem and what would be the recommended workaround? Thanks
↧
Forum Post: RE: TM4C1294KCPDT: Microcontroller won't restart after a SysCtlReset()
Hi Charles, I managed to build my project now I'm still not sure what caused the project build issue but what I did to make it work was downgraded to XDC tools version to 3.32.0.06 and changed the order (first update project settings then rebuild BIOS) 1) Made a copy of the bios folder 2) Open my project with code composer and in the settings C/C++ Build > Build Variables > (select 'Show system variables') > edit COM_TI_RTSC_TIRTOSTIVAC_REPOS > select the current bios/packages directory and changed it to the copy_bios/packages directory Note: I use the 'File System' option to change the dir but I had to manually alter it after since it was greyed out in my project tree under includes. I might think this caused the build issue but not 100% sure since I didn't build my project in between to verify 3) Continue with the rebuild of the SYS/BIOS as described in your original post The only difference compared to your description was in the bios.mak I reversed the directories links (from C:\..) to C:/../. I tried it with "C:\.." around the directories but that gave an build error (something like could not find the path) Thanks again much for the quick reply and clear instructions!
↧
Forum Post: RE: MSP430FR6043: Water Meter USS library
Hi Cash Hao11 Thanks for your response. We have below Question 1. Is there any section on uss library code or any rough idea that how we can implement those features? 2.The measurement from uss library i.e tof is based on ISR or polling?
↧
Forum Post: RE: MSP430FR6989: Small coil not succesful for calibration and longer detection range
Hi Henry, I do not have much idea if there is limits on the thickness. The purpose is to generate a stronger magnetic filed through the coils. I am not sure if the LDC coil would help here. Best regards, Cash Hao
↧
↧
Forum Post: RE: MSP430FR6043: Water Meter USS library
Hi, There are two major functions in the USS library. One is called USS_startLowPowerUltrasonicCapture(), this function will get the ADC capture signal. So, some of your functions based on ADC capture signal can be called after this function. And the other one is called USS_runAlgorithmsFixedPoint(), this function calculates the TOF, volume result. You can add backflow and leakage detection based on the TOF result after this function. Best regards, Cash Hao
↧
Forum Post: RE: MSP430FR6043: FR6043_USSSWLib_template_example
Thanks for your response Cash Hao. Currently, I am using the FR6043_USSSWLib_template_example single-tone code. Is this code for a water meter or a gas meter? Could you please share me link for the water meter project. I will verify the LPM3 current consumption with the spec. Regards, Sarwath
↧
Forum Post: TMS320F2800157: NMIWDPRD Changing
Part Number: TMS320F2800157 Tool/software: Does changing the NMIWDPRD register value at initialization resets the system as stated in the data sheet? I want to initialize the NMIWDPRD with values other than 0XFFFF at initialization of my application without inducing NMIRSn.
↧
Forum Post: RE: MSP430FR6043: FR6043_USSSWLib_template_example
Hi, You can find the water meter demo code for FR6043 in below block. https://www.ti.com/tool/MSP-ULTRASONIC-DESIGN-CENTER Best regards, Cash Hao
↧
↧
Forum Post: RE: MSP430FR6043: Water Meter USS library
Hi Cash Hao11 , Thanks for the help. 1. The USS_runAlgorithmsFixedPoint() will give the dtof ,tof and flow rate and after this API With this 3 parameters(dtof ,tof and flow rate ) can be used to develop the above features. Correct? 2. USS_runAlgorithmsFixedPoint() will be give raw data of dtof ,tof and flow rate or after any post processed data ?
↧
Forum Post: RE: MSP430F5503: SPI RX Problem
Sorry, the left image is still 0xBC, so i want to confirm if only MCU will receive the wrong data and Logic analysis will receive the correct data.
↧
Forum Post: RE: MSP430FR6043: Water Meter USS library
Hi, You are asking for the same function in those two questions. The USS_runAlgorithmsFixedPoint() calculates the dTOF, absTOF and flow rate in this API. The USS_startLowPowerUltrasonicCapture() generates excitation signal and uses ADC to capture the receive. So, you will get raw ADC capture data after this function. Best regards, Cash Hao
↧