joepasquariello / FlasherX

Over-the-air firmware updates for Teensy LC/3.x/4.x/MicroMod
52 stars 14 forks source link

SD issue #4

Closed benjavita closed 11 months ago

benjavita commented 1 year ago

Hi Joe,

I'm trying your program to flash a hex file to my Teensy 4.0 using the SD card.

Having an issue, if you could help that would be really nice!

I've uploaded the hex file to the SD (ledmatrix.ino.hex) which is 64.7kb big.

When I run the program and enter 2 for SD I get the error:

_abort - new code missing string fwteensy40 which is thrown from FXUtil.cpp line 110.

See output below, it seems like the file size isn't correct, it says 23552 bytes. Do you have any idea what I'm doing wrong?

Many thanks! Ben

`FlasherX v2.3 - May 12 2023 13:13:55 WARNING: this can ruin your device! target = fw_teensy40 (2048K flash in 4K sectors) created buffer = 256K RAM (20203068 - 20243068) enter 1 for hex file via serial, 2 for hex file via SD SD initialization OK SD file open OK reading hex lines...

hex file: 1478 lines 23552 bytes (60000000 - 60005C00) abort - new code missing string fw_teensy40 unable to create buffer`

benjavita commented 1 year ago

image

SudharsanK58 commented 1 year ago

Have found the solution of this @benjavita?????????? . Cause i also stuck here

Screenshot 2023-07-03 at 4 49 04 PM
benjavita commented 1 year ago

Hi Sudhar, Yes I have found a solution, will have a look later today and update the github. Regards, Ben

Le lundi 3 juillet 2023 à 12:19:44 UTC+1, Sudhar San ***@***.***> a écrit :  

Have found the solution of this @benjavita?????????? . Cause i also stuck here

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

benjavita commented 1 year ago

See thread at OTA through Ethernet with Teensy 4.1 - Page 2

OTA through Ethernet with Teensy 4.1 - Page 2

Hi, I've been able to implement OTA through Ethernet on a Teensy 4.1. Based and using the FlasherX Library. I... |

|

|

You can define the string "fw_teensy40" or "fw_teensy41" in your code so it appears in the hex, otherwise you can comment the lines in FXUtil.cpp lines 121-125 where it does the check (// check FLASH_ID in new code - abort if not found)

Le lundi 3 juillet 2023 à 12:19:44 UTC+1, Sudhar San ***@***.***> a écrit :  

Have found the solution of this @benjavita?????????? . Cause i also stuck here

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

SudharsanK58 commented 1 year ago

Wow thanks a lot man.

joepasquariello commented 1 year ago

If you look at FXUtil.h, you will see that for each Teensy board, there is a FLASH_ID string ("fw_teensy41", "fw_teensy36", etc.) The FlasherX code checks to make sure that the new firmware contains a string that matches the Teensy board type, so that only code built for T4.1 is written to T4.1 flash, only code built for T3.6 is written to T3.6 flash, etc. Although the strings are defined in FXUtil.h, they will only exist in your hex file if your code accesses the string. I make sure the string is accessed by writing it to the Serial monitor output on bootup, for example Serial.println( FLASH_ID ).