- Moved to their own file
(so we can later copy the entire thing over to cc2430)
- Renamed the functions
(for naming convention reasons)
- The entire thing can be enabled/disabled
- Added a couple more macros
- Hooked into main()
__bit variables must be located after the 0x20 address
This force the stack to start after 0x20, thus decrease
the stack size by a considerable amount.
This add -fomit-frame-pointer by default, it decrease sliglty the
stack usage when several function call are nested.
On some specific case 30 bytes could be saved on the stack.
This allows us to reduce CODE footprint of SDCC projects
built with --model-huge. Use carefully!
* Added a facility which allows us to enable/disable the
feature from the CPU dir (CC_CONF_NON_BANKED_OPTIMIZATION)
* Added the CC_NON_BANKED keyword to some platform files
(expands to __nonbanked)
* Started using this for some examples
We still use the primary location by default (Info Page) but
this is now configurable. This change is useful for users who
wish to specify their own MAC address. Since the Info Page is
read-only, they need to be able to use the secondary location
This will help us slowly add better support for smaller SoCs
instead of just assuming that all cc253x SoCs are F256
- We build for F256 by default but the project Makefile can override this
- We currently ignore this when passing --code-size. This is a ToDo
- The bank allocator always assumes 7 banks. Once we fix --code-size above this will be irrelevant
This new approach (CLOCK_CONF_ACCURATE=0) was not as inaccurate
as originally thought. In fact, it has pretty much the same
accuracy as the old, stack-hungry version.
* Renamed the define from CLOCK_CONF_ACCURATE (1: old) to
CLOCK_CONF_STACK_FRIENDLY (1: new) to stop implying
that one is more accurate than the other.
* Using CLOCK_CONF_STACK_FRIENDLY by default.
* Bit-Addressable SFRs are now accessed as such,
instead of (N)OR-ing the byte
* A routine was declared as CCIF but not defined as such. Fixed
* Deleted a leftover duplicate define
* Formatting
* Comment updates and clarifications
Since the introduction of a purpose-written routine, the old
generic one (which was written in asm) was never being used.
There was a configuration directive which allowed us to switch
between the two. All references to this configuration directive
have also been removed.