mirror of
https://github.com/espruino/Espruino.git
synced 2025-12-08 19:06:15 +00:00
add more debugging - still crashes on read
This commit is contained in:
parent
0ce596887b
commit
9541573f58
2
flash-all.bat
Executable file
2
flash-all.bat
Executable file
@ -0,0 +1,2 @@
|
||||
..\esp-idf\components\esptool_py\esptool\esptool.py --chip esp32 --port COM3 --baud 921600 --before esp32r0 --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 app/build/bootloader/bootloader.bin 0x10000 ../Espruino/espruino_esp32.bin 0x8000 app/build/partitions_singleapp.bin
|
||||
pause
|
||||
2
flash-erase.bat
Executable file
2
flash-erase.bat
Executable file
@ -0,0 +1,2 @@
|
||||
..\esp-idf\components\esptool_py\esptool\esptool.py --chip esp32 --port COM3 --baud 921600 --before esp32r0 erase_flash
|
||||
pause
|
||||
2
flash-fast-two_ota.bat
Executable file
2
flash-fast-two_ota.bat
Executable file
@ -0,0 +1,2 @@
|
||||
c:\Users\rhys\OneDrive\esp32\esp-idf\components\esptool_py\esptool\esptool.py --chip esp32 --port COM3 --baud 921600 --before esp32r0 --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 ../../template/build/bootloader/bootloader.bin 0x10000 ../../Espruino/espruino_esp32.bin 0x8000 partitions_two_ota.bin
|
||||
pause
|
||||
2
flash-fs.bat
Executable file
2
flash-fs.bat
Executable file
@ -0,0 +1,2 @@
|
||||
..\esp-idf\components\esptool_py\esptool\esptool.py --chip esp32 --port COM3 --baud 921600 --before esp32r0 --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x200000 fs.img
|
||||
pause
|
||||
4
flash.bat
Executable file
4
flash.bat
Executable file
@ -0,0 +1,4 @@
|
||||
..\esp-idf\components\esptool_py\esptool\esptool.py --chip esp32 --port COM3 --baud 921600 --before esp32r0 --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x10000 ../Espruino/espruino_esp32.bin
|
||||
rem ..\esp-idf\components\esptool_py\esptool\esptool.py --chip esp32 --port COM3 --baud 921600 --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x10000 ../Espruino/espruino_esp32.bin
|
||||
REM ..\esp-idf\components\esptool_py\esptool\esptool.py --chip esp32 --port COM3 --baud 921600 --before esp32r0 --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x10000 ../Espruino/espruino_esp32.bin
|
||||
pause
|
||||
@ -12,12 +12,14 @@
|
||||
#define FS_SECTOR_SIZE 4096
|
||||
#define FS_BLOCK_SIZE 1
|
||||
// 1MB = 1024*1024 / 4096 = 256
|
||||
// 0-33 format
|
||||
#define FS_SECTOR_COUNT 256
|
||||
|
||||
// Hardcode page of 4Mb memory
|
||||
uint32_t fs_flash_base=0;
|
||||
int read_on=true;
|
||||
#define FS_FLASH_BASE 0x200000
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
|
||||
Public Functions
|
||||
@ -35,8 +37,11 @@ DSTATUS disk_initialize (
|
||||
{
|
||||
NOT_USED(drv);
|
||||
jsWarn("Flash Init - disk_initialize %d",drv);
|
||||
|
||||
return 0;
|
||||
if ( fs_flash_base == 0 ) {
|
||||
jsError("Need to set Flash address with E.flashFatFs");
|
||||
return FR_NOT_READY;
|
||||
}
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
/*-----------------------------------------------------------------------*/
|
||||
@ -49,7 +54,7 @@ DSTATUS disk_status (
|
||||
{
|
||||
NOT_USED(drv);
|
||||
jsWarn("Flash Init - disk_status %d",drv);
|
||||
return 0;
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
|
||||
@ -69,11 +74,15 @@ DRESULT disk_read (
|
||||
uint32_t Memory_Offset;
|
||||
|
||||
Transfer_Length = count * FS_SECTOR_SIZE;
|
||||
Memory_Offset = sector * FS_SECTOR_SIZE + FS_FLASH_BASE;
|
||||
Memory_Offset = sector * FS_SECTOR_SIZE + fs_flash_base;
|
||||
|
||||
jsWarn("Flash disk_read sector: %d, buff: mem: %d buff: %d len: %d", sector, Memory_Offset, buff, Transfer_Length);
|
||||
jshFlashRead( buff, Memory_Offset, Transfer_Length);
|
||||
|
||||
if ( ( read_on && sector > 10 ) || ( sector <= 10 ) ){
|
||||
jshFlashRead( buff, Memory_Offset, Transfer_Length);
|
||||
}
|
||||
else {
|
||||
jsWarn("reading disabled...%d", read_on );
|
||||
}
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
@ -93,7 +102,7 @@ DRESULT disk_write (
|
||||
uint32_t Memory_Offset;
|
||||
|
||||
Transfer_Length = count * FS_SECTOR_SIZE;
|
||||
Memory_Offset = sector * FS_SECTOR_SIZE + FS_FLASH_BASE;
|
||||
Memory_Offset = sector * FS_SECTOR_SIZE + fs_flash_base;
|
||||
|
||||
jsWarn("Flash disk_write sector: %d, buff: mem: %d buff: %d len: %d", sector, Memory_Offset, buff, Transfer_Length);
|
||||
jshFlashErasePage(Memory_Offset);
|
||||
@ -143,4 +152,52 @@ DRESULT disk_ioctl (
|
||||
}
|
||||
|
||||
return res;
|
||||
}l
|
||||
}
|
||||
|
||||
|
||||
/****/
|
||||
|
||||
extern void jsfsReportError(const char *msg, FRESULT res);
|
||||
extern bool jsfsInit();
|
||||
|
||||
int flashFatFsInit( FATFS * jsfsFAT, int addr, int format) {
|
||||
FRESULT res;
|
||||
// sanity check here?
|
||||
fs_flash_base=addr;
|
||||
if ( format == 1 ) {
|
||||
jsError("E.flashFatFs formatting...");
|
||||
memset(jsfsFAT, 0, sizeof(FATFS));
|
||||
if ((res = f_mount(jsfsFAT, "", 0)) != FR_OK) {
|
||||
jsfsReportError("Unable to format", res);
|
||||
return false;
|
||||
}
|
||||
//res = f_mkfs("/", 1, 0);
|
||||
res = f_mkfs("", 1, 0); /* path, Partitioning rule 0:FDISK, 1:SFD super floppy , size of allocation unit */
|
||||
if (res != FR_OK) {
|
||||
jsError("[f_mkfs] Error %d\r\n", res);
|
||||
jsfsReportError("Format error:",res);
|
||||
}
|
||||
}
|
||||
if ( format == 2 ) {
|
||||
jsWarn("jsfsInit: %d", jsfsInit());
|
||||
}
|
||||
|
||||
if ( format == 20 ) {
|
||||
read_on=false;
|
||||
jsWarn("Disable Read %d", read_on );
|
||||
}
|
||||
|
||||
if ( format == 21 ) {
|
||||
read_on=true;
|
||||
jsWarn("Enable Read %d", read_on );
|
||||
}
|
||||
|
||||
|
||||
if ( format == 4 ) {
|
||||
DWORD fre_clust;
|
||||
FATFS* ptr=jsfsFAT;
|
||||
res = f_getfree("", &fre_clust, &ptr);
|
||||
jsWarn("fre_clust: %d", fre_clust);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -586,44 +586,41 @@ console.log(require("fs").readdirSync());
|
||||
E.flashFatFs(0x200000,0);
|
||||
dd if=/dev/zero of=fat.fs.img bs=1024 count=1024
|
||||
mkfs.vfat -v -F 12 -S 4096 -s 1 fat.fs.img
|
||||
|
||||
|
||||
f=require("Flash");
|
||||
f.read(10,0x200000);
|
||||
b=0x300000;
|
||||
function rSect(s){
|
||||
uintArray=f.read(64,b+s*4096);
|
||||
console.log(String.fromCharCode.apply(null, uintArray));
|
||||
}
|
||||
rSect(34);
|
||||
|
||||
|
||||
//Format
|
||||
E.flashFatFs(0x200000,1);
|
||||
|
||||
|
||||
//Init
|
||||
E.flashFatFs(0x200000,2);
|
||||
E.flashFatFs(0x300000,2);
|
||||
|
||||
var files = require("fs").readdirSync();
|
||||
|
||||
require("fs").writeFileSync("hello.txt", "Hello World");
|
||||
require("fs").writeFileSync("hello.txt", "Hello World\nHello World\nNew line\n");
|
||||
|
||||
console.log(require("fs").readFileSync("hello.txt")); // prints "Hello World"
|
||||
|
||||
E.flashFatFs(0x200000,20); // read off
|
||||
|
||||
E.flashFatFs(0x200000,21); // read on
|
||||
|
||||
```
|
||||
*/
|
||||
|
||||
extern void flashFatFsInit( FATFS * jsfsFAT, int addr, int format);
|
||||
|
||||
void jswrap_E_flashFatFs(int addr, int format) {
|
||||
jsWarn("E.flashFatFs addr: %d format: %d", addr,format);
|
||||
|
||||
FRESULT res;
|
||||
if ( format == 1 ) {
|
||||
jsError("E.flashFatFs formatting...");
|
||||
if ((res = f_mount(&jsfsFAT, "", 0)) != FR_OK) {
|
||||
jsfsReportError("Unable to mount SD card", res);
|
||||
return false;
|
||||
}
|
||||
res = f_mkfs("/", 0, 0); /* path, Partitioning rule 0:FDISK, 1:SFD super floppy , size of allocation unit */
|
||||
if (res != FR_OK) {
|
||||
jsError("[f_mkfs] Error %d\r\n", res);
|
||||
jsfsReportError("Format error:",res);
|
||||
}
|
||||
}
|
||||
if ( format == 2 ) {
|
||||
jsWarn("jsfsInit: %d", jsfsInit());
|
||||
}
|
||||
flashFatFsInit( &jsfsFAT, addr, format);
|
||||
}
|
||||
#endif
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user