area-8051 / uni-stc Goto Github PK
View Code? Open in Web Editor NEWSDCC support + HAL + drivers for STC 8051 MCU
SDCC support + HAL + drivers for STC 8051 MCU
I have a STC15W101 mounted to a circuit board (sonoff door sensor).
This chip apparently has 128 bytes of RAM, 1KB of code flash, and 4KB of EEPROM flash.
It appears that just gpio hal alone requires about 2KB of flash.
I did notice that gpio-hal.h defines the GPIO_HAL_H macro.
It is stated that this macro greatly helps reduce flash footprint.
However it appears to only reduce the flash size a few bytes.
(by comparing flash size reported by .mem files)
I'm really not sure what type of overhead to expect for HAL.
Is there anything I can do to shrink usage but allow use of HAL?
Or alternatively, with 8051 there's no keyword/macro to place functions in eeprom flash?
I finally realized if I wrote in assembly I could mix in linker instructions to reposition function addresses.
But unfortunately I could not make code execute in eeprom space.
I will just close this issue but wanted to post the work in case an error is spotted:
https://gist.github.com/mightymos/f6ed05ac96b2b26f1a4394df43f241e8
But my conclusion for now is setting ISP bit only executes bootloader rom.
First I want to thank you for the great project you have put together. In using it I have come across the following behavior:
After running make clean and then running make all I get the following error:
/Users/mwood/Documents/DigiColony/uni-STC/makefiles/2-mcu-rules.mk:34: target build' given more than once in the same rule. sed: 1: "build/dependencies.mk": undefined label 'uild/dependencies.mk' make: *** No rule to make target
build/dependencies.mk', needed by `all'. Stop.
If I run make all again it appears to work properly. Is there a way to prevent this requirement?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.