PIC XC8 Bootloader
Miroslav Draxal
evik na volny.cz
Sobota Listopad 25 22:13:30 CET 2017
Dobrý večer,
Nenapadne někoho nějaké řešení?
Snažím se pro jedno zařízení trochu vytunit bootloader (vlastní výtvor) o
výstup na LCD.
V projektu mám v Source Files dva zdrojové soubory (BootLoader.c,
LCD_minimal.c).
V konfiguraci kompilátoru xc8 ve větvi XC8>MemoryModel>ROM Rangers> 0-fff.
Snažím se, aby byl bootlodar pokud možno co nejkratší. A tady je problém.
Kompilátor v téhle konfiguraci obsadí paměť takto
00000000: 1111----1111------------1111111111111111111111111111111111111111
00000040: 1111111111111111111111111111111111111111111111111111111111111111
00000080: 1111111111111111111111111111111111111111111111111111111111111111
000000C0: 1111111111111111111111111111111111111111111111111111111111111111
00000100: 1111111111111111111111111111111111111111111111111111111111111111
00000140: 1111111111111111111111111111111111111111111111111111111111111111
00000180: 1111111111111111111111111111111111111111111111111111111111111111
000001C0: 1111111111111111111111111111111111111111111111111111111111111111
00000200: 1111111111111111111111111111111111111111111111111111111111111111
00000240: 1111111111111111111111111111111111111111111111111111111111111111
00000280: 1111111111111111111111111111111111111111111111111111111111111111
000002C0: 1111111111111111111111111111111111111111111111111111111111111111
00000300: 1111111111111111111111111111111111111111111111111111111111111111
00000340: 1111111111111111111111111111111111111111111111111111111111111111
00000380: 1111111111111111111111111111111111111111111111111111111111111111
000003C0: 1111111111111111111111111111111111111111111111111111111111111111
00000400: 1111111111111111111111111111111111111111111111111111111111111111
00000440: 1111111111111111111111111111111111111111111111111111111111111111
00000480: 1111111111111111111111111111111111111111111111111111111111111111
000004C0: 1111111111111111111111111111111111111111------------------------
00000F00: 1111111111111111111111111111111111111111111111111111111111111111
00000F40: 1111111111111111111111111111111111111111111111111111111111111111
00000F80: 1111111111111111111111111111111111111111111111111111111111111111
00000FC0: 1111111111111111111111111111111111111111111111111111111111111111
00200000: 1111111111111111------------------------------------------------
00300000: 111111111111----------------------------------------------------
00310000: 11111111--------------------------------------------------------
Problém je v tom, že neumím kompilátor přinutit, aby neudělal díru mezi
adresovým prostorem 0x4E8~0xEFF.
Už se s tím plácám s přestávkami celý týden a ani na netu jsem nějak nic
nenašel.
Pokud nastavím ROM Rangers pod 0xfff (např. 0xeff) tak to hodí chybu
:0: error: (500) undefined symbols:
__mediumconst(dist/default/debug\Komunikator_Bootloader.X.debug.obj)
__smallconst(dist/default/debug\Komunikator_Bootloader.X.debug.obj)
(908) exit status = 1
nbproject/Makefile-default.mk:141: recipe for target
'dist/default/debug/Komunikator_Bootloader.X.debug.cof' failed
make[2]: Leaving directory
'D:/moje/elektro/PIC_projekt/Dum/Komunikator/PIC/Komunikator_Bootloader.X'
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed
make[1]: Leaving directory
'D:/moje/elektro/PIC_projekt/Dum/Komunikator/PIC/Komunikator_Bootloader.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [dist/default/debug/Komunikator_Bootloader.X.debug.cof] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
Budu vděčný za jakýkoli nápad.
Míra
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20171125/f81b1a46/attachment.html>
Další informace o konferenci Hw-list