The use of the ESP8266 in the world of IoT

User avatar
By rab
#20428 You only need to modify the SDK libmain if you want to use the new multiple 8MBit mappings function. Which is disabled by default. So you would not need to depend on a modified SDK. And if a user did want to take advantage of this feature they literally just run a single command against one of the SDK libs and that's it.

I do have another method that doesn't require modification to the SDK (and is more future proof if Espressif do anything silly with the function we are overriding), but it uses more iram so I haven't gone for that option by default. Another option would be to ask Espressif to mark that function weak in the SDK, so end users who want to override it don't need to modify it themselves.
User avatar
By cal
#20454
rab wrote:Tried that first, doesn't work. There are calls to the function in the same object file, and these don't get wrapped by the linker (works fine for all the calls from other object files in the library).


I read that post but you didn't mention if you start the linking with the symbol being explicitly being undefined. I don't
understand exactly what difference that makes but it did make a difference for my replacements.

I disassembled the Cache_Read_Enable, too and could not make much sense out of it.
The bit resetting/setting looks like some kind of trigger but as you said hw docs would be nice.
Did you understand more of it since you post?

Cal