EEVblog > EEVblog Specific

EEVblog #1144 - Padauk Programmer Reverse Engineering

<< < (279/302) > >>

bovineck:

--- Quote ---Late addition: my PFS173 chips are fine with the same setup and code - just the PFS154s that are suddenly not cooperative  :(

--- End quote ---

UPDATE: Just those few PFS154 chips. Have thrown them out and performed cleansing ceremony. Sorry for interruption, normal service resumed... :-+

js_12345678_55AA:

--- Quote from: bovineck on August 11, 2021, 12:26:30 pm ---
--- Quote ---Late addition: my PFS173 chips are fine with the same setup and code - just the PFS154s that are suddenly not cooperative  :(

--- End quote ---

UPDATE: Just those few PFS154 chips. Have thrown them out and performed cleansing ceremony. Sorry for interruption, normal service resumed... :-+

--- End quote ---

Could you ERASE and then READ one of those "faulty" PFS154?

Maybe you wrote something to the "reserved area" (0x7E0-0x7F0) previously. If so, it might be that you turned sections of the flash to READ-ONLY mode. (I found some bits there which disable parts of the flash to be erased/written to. This would explain why you can't erase / write to this ICs properly).

In case this happened to you, I will consider adding a safety feature preventing to write to reserved area (something like an extra command line option like "--write-reserved-area", if not given then write is prohibited).

JS

bovineck:

--- Quote ---Could you ERASE and then READ one of those "faulty" PFS154?

--- End quote ---

They would definitely read, but I'm not sure about erase. I threw them out! Next time I have the same problem I will check.

On a COMPLETELY unrelated matter, how would I compile an assembly file for the PFS154 and write the hex file to the chip?

retiredfeline:
SDCC has an assembler. Just run SDCC with the appropriate options (IIRC it does the right thing if the file extension is that of assembler) and it will skip the C compile step. But you still need the startup code so you might want to retain the main() in C and call your assembly code. Or insert inline assembly code in the C code.

bovineck:

--- Quote ---SDCC has an assembler. Just run SDCC with the appropriate options (IIRC it does the right thing if the file extension is that of assembler) and it will skip the C compile step. But you still need the startup code so you might want to retain the main() in C and call your assembly code. Or insert inline assembly code in the C code.

--- End quote ---

I compiled the start-up code with an empty main() and checked out the resulting assembly file that SDCC generated, but then I couldn’t see any way to use it as a template for an assembly version of the start-up code. I’m not sure that method is completely dead for me but I need to spend a lot more time on it.

In the meantime I like the idea of calling assembly code from the C code. It’s more complicated than what I’d like but it’s a nice work around, thank you! I’m not much of a fan of in-line assembly, and I’m not sure why that is!


Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod