Goto page Previous 1, 2
voland
Guest
Thu Apr 08, 2010 9:26 am
On 8 Kwi, 01:34, Adam Dybkowski <adybkow...@45wp.pl> wrote:
Quote:
W dniu 2010-04-08 00:37, voland pisze:
at91sam7s128. Generalnie juz napisalem se taki bootloader i wyglada na
to ze dziala. flashuje se binarke do pamieci pod adres 0x109000, i
sciągam potem pamieć na twardy dysk i zawartość się zgadza, ale mam
inny problem mianowicie nie wiem jak skonfigurowac linker dla programu
który ma być wgrany pod ten adres, niby skonfigurowalem coś w pliku
flash.lds czyli zmieniłem adres pamieci flash i jej wielkość, wygląda
to mniej więcej tak:
MEMORY
{
sram (W!RX) : ORIGIN = 0x200000, LENGTH = 0x8000
flash (RX) : ORIGIN = 0x109000, LENGTH = 0x17000
}
No i jak kompiluje ten program z parametrem optymalizacji -s0 to niby
działa ale kiedy próbuje skompilować to zoptymalizowane to już się
wysypuje.
Jeszcze raz napisz, tyle że jaśniej. Ustawienia linkera (w szczególności
mapa obszarów pamięci) nie wpływają na proces kompilacji przecież, są
używane dopiero podczas konsolidacji. Więc nie może się po prostu
wysypywać (napisz jaki błąd dokładnie wystąpił?) kompilacja z powodu
przestawienia adresu obszaru Flasha.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
No więc racja byłem zmęczony już wczoraj w nocy więc mogłem
nagmatwać.
chodzi o to że boot loader napisałem a teraz program ktory ma być
zaladowany przez bootloader chcę tak ustawić aby dzialal po
zaladowaniu go do pamięci pod wcześniej wspomniany adres. P zmianie
wcześniej wspomnianego pliku (flash.lds) program kompiluje się dobrze,
niezależnie od tego czy skompiluje sie go z parametrem -0s czy -O0 i
bootloader ładuje go do pamięci po czym wykonuje skok bezwarunkowy pod
adres tego programu i teraz jest dla mnie dziwne to ze program
niezoptymalizowany działa a zoptymalizowany nie.
voland
Guest
Thu Apr 08, 2010 9:27 am
On 8 Kwi, 01:34, Adam Dybkowski <adybkow...@45wp.pl> wrote:
Quote:
W dniu 2010-04-08 00:37, voland pisze:
at91sam7s128. Generalnie juz napisalem se taki bootloader i wyglada na
to ze dziala. flashuje se binarke do pamieci pod adres 0x109000, i
sciągam potem pamieć na twardy dysk i zawartość się zgadza, ale mam
inny problem mianowicie nie wiem jak skonfigurowac linker dla programu
który ma być wgrany pod ten adres, niby skonfigurowalem coś w pliku
flash.lds czyli zmieniłem adres pamieci flash i jej wielkość, wygląda
to mniej więcej tak:
MEMORY
{
sram (W!RX) : ORIGIN = 0x200000, LENGTH = 0x8000
flash (RX) : ORIGIN = 0x109000, LENGTH = 0x17000
}
No i jak kompiluje ten program z parametrem optymalizacji -s0 to niby
działa ale kiedy próbuje skompilować to zoptymalizowane to już się
wysypuje.
Jeszcze raz napisz, tyle że jaśniej. Ustawienia linkera (w szczególności
mapa obszarów pamięci) nie wpływają na proces kompilacji przecież, są
używane dopiero podczas konsolidacji. Więc nie może się po prostu
wysypywać (napisz jaki błąd dokładnie wystąpił?) kompilacja z powodu
przestawienia adresu obszaru Flasha.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
No więc racja byłem zmęczony już wczoraj w nocy więc mogłem
nagmatwać.
chodzi o to że boot loader napisałem a teraz program ktory ma być
zaladowany przez bootloader chcę tak ustawić aby dzialal po
zaladowaniu go do pamięci pod wcześniej wspomniany adres. P zmianie
wcześniej wspomnianego pliku (flash.lds) program kompiluje się dobrze,
niezależnie od tego czy skompiluje sie go z parametrem -0s czy -O0 i
bootloader ładuje go do pamięci po czym wykonuje skok bezwarunkowy pod
adres tego programu i teraz jest dla mnie dziwne to ze program
niezoptymalizowany działa a zoptymalizowany nie.
voland
Guest
Thu Apr 08, 2010 10:49 am
On 8 Kwi, 09:27, voland <volan...@gmail.com> wrote:
Quote:
On 8 Kwi, 01:34, Adam Dybkowski <adybkow...@45wp.pl> wrote:
W dniu 2010-04-08 00:37, voland pisze:
at91sam7s128. Generalnie juz napisalem se taki bootloader i wyglada na
to ze dziala. flashuje se binarke do pamieci pod adres 0x109000, i
sciągam potem pamieć na twardy dysk i zawartość się zgadza, ale mam
inny problem mianowicie nie wiem jak skonfigurowac linker dla programu
który ma być wgrany pod ten adres, niby skonfigurowalem coś w pliku
flash.lds czyli zmieniłem adres pamieci flash i jej wielkość, wygląda
to mniej więcej tak:
MEMORY
{
sram (W!RX) : ORIGIN = 0x200000, LENGTH = 0x8000
flash (RX) : ORIGIN = 0x109000, LENGTH = 0x17000
}
No i jak kompiluje ten program z parametrem optymalizacji -s0 to niby
działa ale kiedy próbuje skompilować to zoptymalizowane to już się
wysypuje.
Jeszcze raz napisz, tyle że jaśniej. Ustawienia linkera (w szczególności
mapa obszarów pamięci) nie wpływają na proces kompilacji przecież, są
używane dopiero podczas konsolidacji. Więc nie może się po prostu
wysypywać (napisz jaki błąd dokładnie wystąpił?) kompilacja z powodu
przestawienia adresu obszaru Flasha.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
No więc racja byłem zmęczony już wczoraj w nocy więc mogłem
nagmatwać.
chodzi o to że boot loader napisałem a teraz program ktory ma być
zaladowany przez bootloader chcę tak ustawić aby dzialal po
zaladowaniu go do pamięci pod wcześniej wspomniany adres. P zmianie
wcześniej wspomnianego pliku (flash.lds) program kompiluje się dobrze,
niezależnie od tego czy skompiluje sie go z parametrem -0s czy -O0 i
bootloader ładuje go do pamięci po czym wykonuje skok bezwarunkowy pod
adres tego programu i teraz jest dla mnie dziwne to ze program
niezoptymalizowany działa a zoptymalizowany nie.
Dobra no to działa. generalnie zarówno program bootloader jak i
program loadowany starały się remapować adres zerowy na pamięć sdram
( zaraz po wystartowaniu). i teraz ten który robił to jako drugi
zawieszał sie, poprostu w programie ładowanym usunołem linijke
BOARD_RemapRam(); i działa. Dlaczego to moze powodować wieszanie sie
procka to nie wiem, w dodatku dzieje się tak tylko w przypadku
zoptymalizowanego kodu. Poczytam dokumentacje aby dowiedzieć się
więcej na ten temat. Pozdrawiam.
Goto page Previous 1, 2