matsstaff / stc1000p

Programmable thermostat firmware and arduino based uploader for the STC-1000 thermostat
GNU General Public License v3.0
261 stars 47 forks source link

build error #105

Closed sveco86 closed 5 years ago

sveco86 commented 5 years ago

It is not possible to build following firmware using building scripts in src folder:

e.g. ./build.sh com gives: ./build.sh com

Building stc1000p_com sdcc -c -o build/page0_celsius_com.o page0.c --use-non-free -mpic14 -p16f1828 --opt-code-size --no-pcode-opt --stack-size 8 -DCOM sdcc -c -o build/page1_celsius_com.o page1.c --use-non-free -mpic14 -p16f1828 --opt-code-size --no-pcode-opt --stack-size 8 -DCOM sdcc -o build/stc1000p_celsius_com build/page0_celsius_com.o build/page1_celsius_com.o --use-non-free -mpic14 -p16f1828 --opt-code-size --no-pcode-opt --stack-size 8 -DCOM message: Using default linker script "/usr/share/gputils/lkr/16f1828_g.lkr". error: No target memory available for section ".code". Makefile:13: recipe for target 'stc1000p_celsius_com' failed make: *** [stc1000p_celsius_com] Error 1 rm build/page0_celsius_com.o build/page1_celsius_com.o

matsstaff commented 5 years ago

Looks like the generated code does not fit. It is a tight squeeze. My guess is you are using a version of sdcc that produces slightly larger code. Try changing to an older sdcc version (I think I've tried 3.4.0 and 3.5.0).

Either that, or you've made changes/additions to the code?

sveco86 commented 5 years ago

Hello, thank you for your reply.

I am using SDCC version 3.8.0, I will try to use older version.

I would like to implement 2 changes described in Issue 104 (https://github.com/matsstaff/stc1000p/issues/104) which will allow me to control STC over internet (ESP8266 using MQTT) by changing SP in Th mode and running profiles.

@matsstaff - Can you please support me in implementation of described changes?

sveco86 commented 5 years ago

I can confirm that using sdcc 3.3.0 for compilation works.

matsstaff commented 5 years ago

Nice to hear you got the compilation working!