I understand it as 'glue code' used to enable two subroutines of a program the ability to interact.
Usually added when an existing program is upgraded or extended.
Hi Alec,
Are you referring to Code Section in ROM that needs to be modified?
How does one utilize the SRAM in order to not re-burn the ROM for each modification one maekes? (Can ROM be re-burnt?)
Eric said:
I understand it as 'glue code' used to enable two subroutines of a program the ability to interact.
Usually added when an existing program is upgraded or extended.
hi,
A simple example would be:
Consider you have a working existing program that requires upgrading, say then you want to add a UART option.
The format of the data in the current program may not be directly compatible for serial data transmission, so you would add a 'patch' that would convert
the data to and from the existing program to the UART code subr.
E
how can it be in RAM?
I'll explain -
All the Code is firstly burnt into ROM, only then it is copied to RAM.
i.e. if you make changes in the ROM already, the RAM's content will include "automatically" the same changes, isn't it?
BTW you're referring to the process where blocks of Code are copied into RAM for faster execution, right?
Eric said:
hi,
A simple example would be:
Consider you have a working existing program that requires upgrading, say then you want to add a UART option.
The format of the data in the current program may not be directly compatible for serial data transmission, so you would add a 'patch' that would convert
the data to and from the existing program to the UART code subr.
E
The definition of Patch is usually a fix that doesn't require recompiling. Not sure if that works now.
From what I understand, Tektronix used Patch EPROMS and address decoders, so pieces of a large program in ROM would be externally address decoded to the patch EPROM to execute. They could use the production software, but if a bug developed, they could redirect to an EPROM.
hi,
A simple example would be:
Consider you have a working existing program that requires upgrading, say then you want to add a UART option.
The format of the data in the current program may not be directly compatible for serial data transmission, so you would add a 'patch' that would convert
the data to and from the existing program to the UART code subr.
E
hi T,
I am talking from the days long before 'C' and Assemblers were available ie: programming in Machine Code.
We used patch's to 'join' sections of debugged [working] machine code together, in those days it was not possible to add a line of code and then either assemble or compile into a new program.
I guess over the years meanings change as well as new 'words' being created.
hi T,
I am talking from the days long before 'C' and Assemblers were available ie: programming in Machine Code.
We used patch's to 'join' sections of debugged [working] machine code together, in those days it was not possible to add a line of code and then either assemble or compile into a new program.
I guess over the years meanings change as well as new 'words' being created.
That is interesting to know. And that is probably the origin of the word.. just the meaning has evolved over time.
EDIT: Wikipedia has some interesting info:
"Historically, software suppliers distributed patches on paper tape or on punched cards, expecting the recipient to cut out the indicated part of the original tape (or deck), and patch in (hence the name) the replacement segment."
EDIT: Wikipedia has some interesting info:
"Historically, software suppliers distributed patches on paper tape or on punched cards, expecting the recipient to cut out the indicated part of the original tape (or deck), and patch in (hence the name) the replacement segment."
At least with AVRs, you can't execute code from RAM.
And even if you can do that, you would need to do that very carefully. I would say you would need to figure it out on your own.. design your own way to make it work.
If the code is already in the flash, then it would be useless to copy it to RAM. Just execute the code from the flash.
I assume here that the programmable flash is the microcontrollers program memory.
Not the way Tektronix did it. Patches/upgrades were done in EPROM. There was a huge cost difference between ROM and EPROM initially. An FPGA was also involved.
Yes, I don't see any sense using patches (updating small parts of firmware) in small embedded devices.. just do a full firmware update.
Patches today are meant to be used with very large software projects with many programmers involved. Linux is a good example of this.
There's a very popular unix program called "patch".
Say you have a huge source code (e.g. Linux kernel) and you figured you need to make small changes to few files. Instead of sending over the whole new source code, you create a small file which describes all the changes that you have made. The recipient then receives this file and uses the "patch" software to apply the changes.
If you look at software sites, they often, in addition to complete distributions have patches against previous distributions of source code. Say, you already have verstion 5.1.128 and want to upgrade to 5.1.129 of their software. You download the corresponding patch and use "patch" program to apply it. If you only have 5.1.127, then you first apply 5.1.128 patch then 5.1.129 patch, which may be still easier than full download.
Yes, I don't see any sense using patches (updating small parts of firmware) in small embedded devices.. just do a full firmware update.
Patches today are meant to be used with very large software projects with many programmers involved. Linux is a good example of this.