Quantcast
Viewing all articles
Browse latest Browse all 262198

updating firmware from ROM lib issue. Running TI RTOS

environment:

IDE:CCS V 5.5

MCU: Stellaris LM3S9B96

Running RTOS with NDK

I tried to updated firmware using ROM_UpdateEthernet() function in ROM. I wrote the code as following:

void FirmwareUpdate (void)
{
// Set the clocking to run from the PLL at 50 MHz
// ROM_SysCtlClockSet( SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ );

// Disable all processor interrupts.
HWREG(NVIC_DIS0) = 0xffffffff;
HWREG(NVIC_DIS1) = 0xffffffff;

ROM_SysTickIntDisable();
ROM_SysTickDisable();

//
// Clear any active interrupts. If the boot loader uses any
// interrupts, they will therefore respond as expected.
//
HWREG(NVIC_APINT) = NVIC_APINT_VECTKEY | NVIC_APINT_VECT_CLR_ACT;

ROM_UpdateEthernet(ROM_SysCtlClockGet());
}

This function is executed inside a Task. 

I configured LM Flash Programmer with with correct MAC addr. and then opened Tera Term and typed the cmd to update the firmware. The LM Flash Programmer starting programming. It is a good sign. However, It stopped during programming for some reasons. I believe some other Tasks crashed the programming. 

I also tried use BIOS_exit(0) before FirmwareUpdate(). However, the FirmwareUpdate() wont execute. 

Is there any solutions to successfully update firmware via Ethernet?

Thanks

madoka

Regards


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>