I've been using the Arduino IDE for about ten years now. I'm guessing the flash partitioning is taken care of for me by the IDE via ...
As of last week I found there is finally a non-Linux solution via Visual Studio Code and PlatformIO to build on Windows. So, to answer your question, I am using the NonOS version... real Noob level. The only method I've had to add to my user_main.c so far, is...
uint32 ICACHE_FLASH_ATTR user_rf_cal_sector_set(void)
{
enum flash_size_map size_map = system_get_flash_size_map();
uint32 rf_cal_sec = 0;
switch (size_map) {
case FLASH_SIZE_4M_MAP_256_256:
rf_cal_sec = 128 - 5;
break;
case FLASH_SIZE_8M_MAP_512_512:
rf_cal_sec = 256 - 5;
break;
case FLASH_SIZE_16M_MAP_512_512:
case FLASH_SIZE_16M_MAP_1024_1024:
rf_cal_sec = 512 - 5;
break;
case FLASH_SIZE_32M_MAP_512_512:
case FLASH_SIZE_32M_MAP_1024_1024:
rf_cal_sec = 1024 - 5;
break;
case FLASH_SIZE_64M_MAP_1024_1024:
rf_cal_sec = 2048 - 5;
break;
case FLASH_SIZE_128M_MAP_1024_1024:
rf_cal_sec = 4096 - 5;
break;
default:
rf_cal_sec = 0;
break;
}
return rf_cal_sec;
}
I understand the first sector and last four sectors are reserved by Espressif lower-end usage. This routine simply defines where "I" want Espressif to put more Espressif controlled data calibrating the Radio RF settings. This example code puts it in the 5th sector from the end. I do also wonder where the Arduino IDE puts this??? I know they typically place the EEPROM library sector in this 5th from the last sector. Anyway... besides these six sectors, the rest is fair-game for me to place program, file systems and anything else I want.
By your last message, I should (be able to) define everything explicitly. I've "now" dug around in the folders in the projects I've got working and I don't see anything like a make file or a configuration file. I guess I must be using some default settings that PlatformIO has made. Since I'm using PlatformIO, I don't see an explicit Make file. All I've modified so far is the platformio.ini file.
[env:d1_mini]
platform = espressif8266
board = d1_mini
framework = esp8266-nonos-sdk
build_flags = -I include
monitor_speed = 115200
upload_speed = 921600
Thank you for your help.
w/ GUI Admin Client, Drag & Drop File Manager, OTA Built-In, Access Point Manager,
Performance Metrics, Web Socket Comms, App API, All running on ESP8266...
Even usable on ESP-01S --- Please check it out!
https://inqonthat.com/inqportal-the-three-line-promise/
https://InqOnThat.com/inqportal