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

Forum Post: RE: AM2432: Pulse Train Output Control and Synchronization

$
0
0
Hello Kevin, Thank you for updating the progress. Regards, Sreenivasa

Forum Post: RE: AM2432: How to set 64-bit address PCIe inbound ?

$
0
0
Hello Hideaki, is that error message from 09.02.00.50 or from 09.02.01.05? With 09.02.00.50 this doesn't work. There's code that simply outputs that erorr message whenever a 64-bit bar is configured and the PCIe is in endpoint mode: else if (inst.$ownedBy.operMode == "PCIE_EP_MODE") { if(inst.barConfig == "PCIE_BARC_64B_MEM_BAR_NON_PREFETCH" || inst.barConfig == "PCIE_BARC_64B_MEM_BAR_PREFETCH") { report.logError("Invalid BAR config for EP mode", inst, "barConfig"); } } With 09.02.01.05 it should work, as can be seen in the appnote. Can you ask them to try again with 09.02.01.05? Regards, Dominic

Forum Post: RE: MSPM0G1507: Problem with eeprom emulation type B

$
0
0
Hi Dylan, an additional info: The init function of the eeprom emulation checks if there is a valid group and if thats the case it relocates it to another flash address. I think thats because of the wear leveling. So a write and erase happens at each restart. Maybe there is my problem?!

Forum Post: RE: MSPM0C1104: Add TIMER-PWM in my project but not working

$
0
0
Hi, Could you please share the sysconfig file and code? It can accelerate to find the cause. Regards, Zoey

Forum Post: RE: LP-AM243: How to write XIP image to Flash in SBL processing?

$
0
0
Hello, Please see the following guide: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/10_01_00_32/exports/docs/api_guide_am243x/BOOTFLOW_XIP.html Regards, Prashant

Forum Post: TMS320F28379D: Memory allocation greater than 0x1000 words

$
0
0
Part Number: TMS320F28379D Tool/software: Hello, I have a problem with the memory RAM space, which is needed for my fft software routine. In the .cmd file I have reserved the blocks RAMGS3, RAMGS4 and RAMGS5 for the fft, in sum 0x3000 words. FFT_Data { fft( .ebss ) } >> RAMGS3 | RAMGS4 | RAMGS5, PAGE = 1 Now my data structure has a size of 0x1207 words. This cannot be allocated in the FFT_Data area. "../2837xD_FLASH_CLA_IQMATH_lnk_cpu1_rb.cmd", line 152: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. run placement with alignment/blocking fails for section "FFT_Data" size 0x1207 page 1. Available memory ranges: RAMGS3 size: 0x1000 unused: 0x1000 max hole: 0x1000 RAMGS4 size: 0x1000 unused: 0x1000 max hole: 0x1000 RAMGS5 size: 0x1000 unused: 0x1000 max hole: 0x1000 error #10010: errors encountered during linking; "TM_Zelle_0.out" not built What can I do to allocate my data in the area RAMGS3, RAMGS4, RAMGS5? The RAM areas should appear as one big area. Many thanks Ralf

Forum Post: LP-AM243: Cpu-load analysis with TaskP_loadGetTotalCpuLoad() (MCU+ SDK TaskP)

$
0
0
Part Number: LP-AM243 Tool/software: Hi there; I want to analyze the CPU-load for each core in the project I developed on the LP-Am2434 eval board. For this, I use the TaskP_loadGetTotalCpuLoad() method in the MCU+ SDK and transfer the values ​​I get via UART. When I analyze the values ​​I save, I see an ever-increasing CPU-load value on core0-0, where my ethercat slave stack application is running. It increases rapidly at first and then slowly until the value of 99.8%. The fact that the cpu-load value was very high caused me to question the method I used. Do you think it is correct to analyze cpu-load with this method? What other ways do you recommend? Best Kadir

Forum Post: TMS320F280025C: Temperature sensor doesn't work

$
0
0
Part Number: TMS320F280025C Tool/software: Hello. I am using the temperature sensor on the TMS320F280025C. My understanding is that the following program loops through the while statement until the AD conversion is complete, then exits the loop when the conversion is finished and starts the calculation. However, when I debugged the program, it never exited the while loop. Below is the function that uses the temperature sensor and the settings for the ADC portion in board.c. Am I overlooking something? Thank you in advance for your help. function↓ int getThermalE(SSCMGParametar* aPara){ volatile uint16_t TempE_ADCResult = 0; ADC_forceMultipleSOC(ADC_2_BASE, ADC_FORCE_SOC0); while(ADC_getInterruptStatus(ADC_2_BASE, ADC_INT_NUMBER3) == false){ } ADC_clearInterruptStatus(ADC_2_BASE, ADC_INT_NUMBER3); TempE_ADCResult = ADC_readResult(ADC_2_RESULT_BASE, ADC_SOC_NUMBER0); int16_t TempE = ADC_getTemperatureC(TempE_ADCResult, 3.3f); if(true == ADC_getInterruptOverflowStatus(ADC_2_BASE, ADC_INT_NUMBER3)) { ADC_clearInterruptOverflowStatus(ADC_2_BASE, ADC_INT_NUMBER3); ADC_clearInterruptStatus(ADC_2_BASE, ADC_INT_NUMBER3); } return TempE; } board.c↓ void ADC_2_init(){ // // ADC Initialization: Write ADC configurations and power up the ADC // // Set the analog voltage reference selection and ADC module's offset trims. // This function sets the analog voltage reference to internal (with the reference voltage of 1.65V or 2.5V) or external for ADC // which is same as ASysCtl APIs. // ADC_setVREF(ADC_2_BASE, ADC_REFERENCE_INTERNAL, ADC_REFERENCE_3_3V); // // Configures the analog-to-digital converter module prescaler. // ADC_setPrescaler(ADC_2_BASE, ADC_CLK_DIV_2_0); // // Sets the timing of the end-of-conversion pulse // ADC_setInterruptPulseMode(ADC_2_BASE, ADC_PULSE_END_OF_CONV); // // Powers up the analog-to-digital converter core. // ADC_enableConverter(ADC_2_BASE); // // Delay for 1ms to allow ADC time to power up // DEVICE_DELAY_US(5000); // // SOC Configuration: Setup ADC EPWM channel and trigger settings // // Disables SOC burst mode. // ADC_disableBurstMode(ADC_2_BASE); // // Sets the priority mode of the SOCs. // ADC_setSOCPriority(ADC_2_BASE, ADC_PRI_ALL_ROUND_ROBIN); // // Start of Conversion 0 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 0 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN12 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER0, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN12, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER0, ADC_INT_SOC_TRIGGER_NONE); // // Start of Conversion 1 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 1 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN2 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER1, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN2, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER1, ADC_INT_SOC_TRIGGER_NONE); // // Start of Conversion 2 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 2 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN4 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER2, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN4, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER2, ADC_INT_SOC_TRIGGER_NONE); // // Start of Conversion 3 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 3 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN6 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER3, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN6, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER3, ADC_INT_SOC_TRIGGER_NONE); // // Start of Conversion 4 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 4 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN7 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER4, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN7, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER4, ADC_INT_SOC_TRIGGER_NONE); // // Start of Conversion 5 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 5 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN8 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER5, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN8, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER5, ADC_INT_SOC_TRIGGER_NONE); // // Start of Conversion 6 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 6 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN14 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER6, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN14, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER6, ADC_INT_SOC_TRIGGER_NONE); // // Start of Conversion 7 Configuration // // // Configures a start-of-conversion (SOC) in the ADC and its interrupt SOC trigger. // SOC number : 7 // Trigger : ADC_TRIGGER_SW_ONLY // Channel : ADC_CH_ADCIN15 // Sample Window : 8 SYSCLK cycles // Interrupt Trigger: ADC_INT_SOC_TRIGGER_NONE // ADC_setupSOC(ADC_2_BASE, ADC_SOC_NUMBER7, ADC_TRIGGER_SW_ONLY, ADC_CH_ADCIN15, 8U); ADC_setInterruptSOCTrigger(ADC_2_BASE, ADC_SOC_NUMBER7, ADC_INT_SOC_TRIGGER_NONE); // // ADC Interrupt 1 Configuration // Source : ADC_SOC_NUMBER0 // Interrupt Source: enabled // Continuous Mode : disabled // // ADC_setInterruptSource(ADC_2_BASE, ADC_INT_NUMBER1, ADC_SOC_NUMBER0); ADC_clearInterruptStatus(ADC_2_BASE, ADC_INT_NUMBER1); ADC_disableContinuousMode(ADC_2_BASE, ADC_INT_NUMBER1); ADC_enableInterrupt(ADC_2_BASE, ADC_INT_NUMBER1); }

Forum Post: RE: TMS320F280025C: Temperature sensor doesn't work

$
0
0
I am sorry. The correct function is below. int getThermalE(SSCMGParametar* aPara){ volatile uint16_t TempE_ADCResult = 0; ADC_forceMultipleSOC(ADC_2_BASE, ADC_FORCE_SOC0); while(ADC_getInterruptStatus(ADC_2_BASE, ADC_INT_NUMBER1) == false){ } ADC_clearInterruptStatus(ADC_2_BASE, ADC_INT_NUMBER1); TempE_ADCResult = ADC_readResult(ADC_2_RESULT_BASE, ADC_SOC_NUMBER0); int16_t TempE = ADC_getTemperatureC(TempE_ADCResult, 3.3f); if(true == ADC_getInterruptOverflowStatus(ADC_2_BASE, ADC_INT_NUMBER1)) { ADC_clearInterruptOverflowStatus(ADC_2_BASE, ADC_INT_NUMBER1); ADC_clearInterruptStatus(ADC_2_BASE, ADC_INT_NUMBER1); } return TempE; } The INT Number is set to 1.

Forum Post: RE: MCU-PLUS-SDK-AM243X: Example for using Core-0 and Core-1 simultaneously on AM2432

$
0
0
Hi Paula, The way I work is that 1.I load the "Hello World" exaple during boot to RAM and I see "Hello World" on the terminal. 2. I attach to Core-0 and ->Run -> Load the i pc_notify_echo out file (debugger) 3. press Play I see with the debugger that the i pc_notify_echo runs but nothing is printed out and I cannot connect to Core-1 Am I doing something wrong ? Thanks, Best Regards, Eli

Forum Post: TMS570LS0432: How to Enable GIO interrupt in Halcogen and use it in ide .

$
0
0
Part Number: TMS570LS0432 Tool/software: Hi I am working on the GIO interrupt where i have selected port GIOA and enabled interrupt on high priority . I have set the direction as the input of the gio bit 7 ,but i am unable to get the result i want . Here is my code : gioInit(); printf("Start\n"); vimInit(); gioSetDirection(gioPORTA,0<<7); gioEnableNotification(gioPORTA,7); _enable_IRQ();

Forum Post: RE: MSPM0G1506: Detection mechanism of LFCLKFAIL in NMI events

$
0
0
Hello Ryota, I have returned back office from Chinese New Year Holiday. It seems that the root cause is still the crystal oscillator or the circuit design. You can find that in the datasheet, it said that there are parasitic bond and package cap on the LFXIN and LFXOUT pin. In the datasheet, the calculated value is 1 pF which sees the parasitic bond and package cap on the LFXIN and LFXOUT pin is 2pF per pin. In fact, the cap on per pin may be 5 pF in some cases, so please try to reduce the cap value you used in the circuit (decreasing from 15pF). And try another one crystal oscillator to do tests too. Best Regards, Janz Bai

Forum Post: RE: C2000WARE-MOTORCONTROL-SDK: motor rotating only at higher currents

$
0
0
HI Jiaxin, at times, either to generate some interrupt or to simulate ENABLE/nFAULT pin I usually gnd that GPIO pin.

Forum Post: RE: MCU-PLUS-SDK-AM243X: AM243x LaunchPad - Ethernet/IP adapter generic device mii

$
0
0
Hi, Ok, thank you. Can I have an example about how to use icss_dlr functions and icss_eip_driver.h?

Forum Post: RE: AM2432: epmty sample program system configuration

$
0
0
Hi, Allow me sometime to comment on your additional questions. Regards, Vaibhav

Forum Post: TMS320F28P650DK: GPIO_WRITEPIN undefiined symbol

$
0
0
Part Number: TMS320F28P650DK Tool/software: HI TI experts, I'm working on a project provided in TI MCSDK, it was working well and i tried to toggle a GPIO pin through CLATASK for which i,ve configured the control of GPIO pin to CLA, and it was toggling. everything was going well. then I replaced the GPIO_TOGGLEPIN() with GPIO_WRITEPIN() and all of sudden everything stopped working, no interrupts no output nothing. and then I commented the gpio line and now im facing below error which is not cla file but is a main source code C file which was working fine before. undefined first referenced symbol in file --------- ---------------- GPIO_WritePin ./sources/fcl_f28p65x_tmdxiddk_cpu1.obj NOTE: driverlib.h and driverlib.lib everything is included, paths included, and even I can see the definition. GPIO_WRITEPIN is a static inline function which should be inlined (ive kept optimization at all levels 0-5) but I can see the function name in GLOBAL SYMBOLS section of .map file which I guess should not be there if it is inlined. correct me if I'm wrong. Even after manually adding include"gpio.h" this error persists. any insights would be much helpful. Thanks & Regards Raghu

Forum Post: RE: TMS320F28P650DK: CLAsin CLAcos functions not responding.

$
0
0
Thanks Odharo, its resolved. I've to add the correct library.

Forum Post: RE: TMDSCNCD263P: Uniflash/Bootflow

$
0
0
Iam using the prebuild version out of the sdk : mcu_plus_sdk_am263px_10_00_00_35\tools\boot\sbl_prebuilt\am263px-cc. My addresses look like this: this are the default ones. I think the 0x60000000 is the base address of the flash and then the 0x800000 is just added to this for the application.

Forum Post: RE: TMS320F28P650DK: BOOSTXL-BUCKCONV

$
0
0
Hi Peter, I didn't change anything in the code. The only things I noticed is when building the project, I get a gmake error (not sure what that means). Also, when attempting to debug, a popup showed up asking me to select a debug setting, I wasn't sure so I selected the buck_F28004x_teradyne_ACMC.launch. Maybe that was the wrong one to select?

Forum Post: RE: MSP430F135: MSP-FET430UIF can not access device

$
0
0
Hi Rachel, I'm glad you were able to determine it was not the MSP. Happy to help.
Viewing all 218201 articles
Browse latest View live