You can chat about native SDK questions and issues here.

User avatar
By jhinkle
#76420 I writing a bootloader for myself and wanted access to 4 rom based functions.

They appear in the NON-OS SDK file eagle.rom.addr.v6.ld:

The functions are: ets_printf, ets_putc, SPIRead, and SPIWrite.

The last two are very important since they are required for bootloader operation. The two "ets_" functions are for exporting debug data during the boot process.

I don't use the NON-OS SDK since I prefer the RTOS version.

To my surprise, those functions don't exist in the RTOS SDK.

Can someone tell me the equivalent function name in the RTOS_SDK?

Why would common low-level functions be in one SDK and not the other?

Thanks.
User avatar
By McChubby007
#76421
jhinkle wrote:I writing a bootloader for myself and wanted access to 4 rom based functions.

They appear in the NON-OS SDK file eagle.rom.addr.v6.ld:

The functions are: ets_printf, ets_putc, SPIRead, and SPIWrite.

The last two are very important since they are required for bootloader operation. The two "ets_" functions are for exporting debug data during the boot process.

I don't use the NON-OS SDK since I prefer the RTOS version.

To my surprise, those functions don't exist in the RTOS SDK.

Can someone tell me the equivalent function name in the RTOS_SDK?

Why would common low-level functions be in one SDK and not the other?

Thanks.

Espressif have the full SDK's API documents on their website which list all functions available in each SDK.
You may find that the OS-SDK disallows low-level functions which access hardware and require you to use the RTOS functions in order to manage/control the resource.
With the non-OS SDK, obviouslythere are no OS 'rules' per se, and so the functions are available.
User avatar
By jhinkle
#76422 Thanks for your reply but I think you did not understand my question. Your reply was based on writing RTOS based applications -- my question was specifically about a bootloader - there is no SDK required - just the functions available in the on board rom.

The rom code is chip level and is not associated with the external flash memory which holds the applications.

My question is why common "rom" based functions that are mapped in eagle.rom.addr.v6.ld associated with the NON-OS SDK are not in the eagle.rom.addr.v6.ld associated with the RTOS SDK.

When writing a bootloader, there really is no SDK associated with it since all the external function come from the rom.

I'm asking this question because from an application point of view I work with the RTOS SDK and just hate to have the NON-SDK hanging around just to use it's eagle.rom.addr.v6.ld for the rom addresses I'm interested in.

Joe