Post Reply 
PX41CX
06-07-2023, 09:40 PM (This post was last modified: 06-07-2023 09:42 PM by goosnarrggh.)
Post: #45
RE: PX41CX
(06-07-2023 09:32 PM)agarza Wrote:  
(06-07-2023 05:24 PM)goosnarrggh Wrote:  Perhaps you could come up with a scheme to allow those "plugged in" modules to be installed as hex file overlays, rather than being linked into the main application hex file?

When the device is first programmed from an erased state, the main hex file could be programmed in the main address rage, and all the "slots" for individual modules could be "blank" (all 0xFF's) which hopefully could be safely interpreted as meaning "unplugged".

When you want to "plug in" a module, you'd need to decide which "slot" you want to install it in, then modify the base address of its hex overlay to have the appropriate start address. Then use Microchip Studio to program that hex file into its selected slot *without* erasing the rest of the chip.

Rinse and repeat for each additional module you want to plug in.

Problems would arise, however, when the time came to "un-plug" a module after it was already installed. Because I don't think Microchip Studio's programming interface offers an option to selectively erase just one region of Flash memory, it's all or nothing. So I guess you'd have no choice but to erase the whole chip, re-program the main code again, and start over with installing your new selection of modules.

I have not studied the avr documentation regarding flashing, but would be nice if you could erase and flash only certain pages.

From first hand experience, I can say that you definitely can use Microchip Studio to flash different regions using separate hex files in separate operations. But each region has to start out initially empty.

If you are trying to use Atmel/Microchip Studio to reporgram a region that was already programmed with something else previously (essentially, even one single bit within that region being non-1), then you need to erase the whole chip in order to be able to reliably reprogram anything.

If you want to selectively reprogram individual pages without erasing everything, then you'd need to move beyond Atmel/Microchip Studio, and instead start looking into controlling the Non-Volatile Memory Controller from software -- that is, writing a bootloader.

But, to effectively use a bootloader for this sort of purpose, you would also need enough free pins to support a bidirectional communication port, such as a UART. Given what I've seen of your previous PX15C design (I bought/built one of your kits, and also studied the schematic), you don't have enough free pins to be able to do that.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
PX41CX - agarza - 10-29-2022, 07:58 PM
RE: PX41CX - Massimo Gnerucci - 10-29-2022, 09:05 PM
RE: PX41CX - Liam Hays - 10-31-2022, 01:50 PM
RE: PX41CX - SammysHP - 10-31-2022, 03:53 PM
RE: PX41CX - agarza - 11-01-2022, 01:50 AM
RE: PX41CX - johnb - 10-31-2022, 07:05 PM
RE: PX41CX - agarza - 11-01-2022, 01:44 AM
RE: PX41CX - Massimo Gnerucci - 10-31-2022, 07:16 PM
RE: PX41CX - Jlouis - 11-02-2022, 01:19 AM
RE: PX41CX - agarza - 11-02-2022, 02:43 AM
RE: PX41CX - Jlouis - 11-02-2022, 03:08 AM
RE: PX41CX - Sylvain Cote - 11-02-2022, 05:18 AM
RE: PX41CX - J-F Garnier - 11-02-2022, 08:29 AM
RE: PX41CX - Sylvain Cote - 11-02-2022, 02:49 PM
RE: PX41CX - J-F Garnier - 11-02-2022, 03:50 PM
RE: PX41CX - agarza - 11-02-2022, 06:48 PM
RE: PX41CX - rprosperi - 11-02-2022, 08:11 PM
RE: PX41CX - agarza - 11-02-2022, 10:17 PM
RE: PX41CX - goosnarrggh - 06-07-2023, 04:27 PM
RE: PX41CX - goosnarrggh - 06-07-2023, 05:37 PM
RE: PX41CX - agarza - 06-07-2023, 09:38 PM
RE: PX41CX - Eric Rechlin - 06-08-2023, 02:12 AM
RE: PX41CX - toml_12953 - 11-04-2022, 03:58 AM
RE: PX41CX - Jlouis - 11-04-2022, 06:23 AM
RE: PX41CX - TomC - 11-04-2022, 02:19 PM
RE: PX41CX - agarza - 11-19-2022, 04:53 PM
RE: PX41CX - TomC - 11-19-2022, 06:00 PM
RE: PX41CX - TomC - 11-19-2022, 06:02 PM
RE: PX41CX - agarza - 11-19-2022, 08:20 PM
RE: PX41CX - Sylvain Cote - 11-20-2022, 02:25 AM
RE: PX41CX - agarza - 11-20-2022, 02:54 PM
RE: PX41CX - anetzer - 06-06-2023, 05:53 PM
RE: PX41CX - agarza - 06-06-2023, 06:24 PM
RE: PX41CX - Liam Hays - 11-20-2022, 05:15 PM
RE: PX41CX - agarza - 11-20-2022, 07:30 PM
RE: PX41CX - grbrum - 06-05-2023, 06:07 PM
RE: PX41CX - agarza - 06-06-2023, 04:37 PM
RE: PX41CX - rprosperi - 06-06-2023, 10:51 PM
RE: PX41CX - agarza - 06-07-2023, 02:20 AM
RE: PX41CX - rprosperi - 06-07-2023, 11:39 AM
RE: PX41CX - agarza - 06-07-2023, 04:33 PM
RE: PX41CX - goosnarrggh - 06-07-2023, 05:24 PM
RE: PX41CX - agarza - 06-07-2023, 09:32 PM
RE: PX41CX - goosnarrggh - 06-07-2023 09:40 PM
RE: PX41CX - agarza - 06-07-2023, 10:35 PM
RE: PX41CX - goosnarrggh - 06-08-2023, 01:06 AM
RE: PX41CX - goosnarrggh - 06-08-2023, 11:48 AM
RE: PX41CX - rprosperi - 06-07-2023, 09:02 PM
RE: PX41CX - agarza - 06-07-2023, 09:57 PM
RE: PX41CX - thenozone - 06-06-2023, 05:36 PM
RE: PX41CX - revwillie - 06-11-2023, 04:10 PM
RE: PX41CX - agarza - 06-11-2023, 06:21 PM
RE: PX41CX - comabereni - 09-09-2023, 09:03 PM



User(s) browsing this thread: 1 Guest(s)