简体   繁体   中英

Bootloader required for Azure RTOS THREADX?

I have an existing embedded stand-alone main program and am trying to add Azure RTOS THREADX to it. Does Azure RTOS require a bootloader? Is it bootloader agnostic?

Azure RTOS THREADX does not require a bootloader itself and is in general bootloader agnostic. A typical use of Azure RTOS THREADX is to be linked and located as part of the application program in a device's flash memory, where the entry point is tied to the reset vector. However, there are some applications that do require a bootloader. In such applications, Azure RTOS THREADX simply looks like the application code image so nothing special is required in THREADX. In either case, Azure RTOS THREADX doesn't know or really care how it was loaded and thus stays out of the way of the application's particular boot sequence needs.

Azure RTOS can run Bare-metal and therefore doesn't require bootloader. You can actually call tx_kernel_entry from the main function, which is like a bootloader in a sense, it runs a tiny kernel called a picokernel. This then calls the tx_application_entry function where you can call those rtos services which needs to be called only when initializing (main thread) and run the thread scheduler. The scheduler is like a infinite while loop so don't call anything afterwards tx_kernel_entry.

A bootloader is independent of, and unrelated to, threadx. We use a bootloader to update our application which has threadx compiled in.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM