Отговори на тема  [ 36 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
Новото проектче :) 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл
Аватар

Регистриран на: Съб Фев 06, 2016 7:29 pm
Мнения: 167
Мнение Re: Новото проектче :)
За gcc опциите ' -nostdlib' и '-nodefaultlibs' ти дават възможност компилираното да не включва нищо по подразбиране (за да сме съвсем коректни те влияят само на линкера). За други компилатори трябва да има подобни опции също.

За викането на ф-ции от юзерски код, мисля че беше обсъждано тук подобен проблем.
"Стандартен" начин е на фиксирано място в паметта се слага таблица с пойнтери към функциите, който са "експортнати" от фирмуера. Потенциален проблем е предаване на параметри към тези функции, но и това се решава лесно - пак на фиксиран адрес се отделя място за буфер. Варианти има много, кой е най-добрият зависи от конкретното приложение и най-вече от вкуса на тоя дето го оценява :).


Пон Мар 01, 2021 9:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: Новото проектче :)
Доколкото съм ровил по темата, contiki имаха най-смислена концепция (или поне най-разбираема за мързеливия ми мозък). Викат му "elf-loader" - ползват леко "подобрен" (оптимизиран) elf формат (за да спестят по някой байт), но като цяло са гонили съвместимост с цялата армада инструменти.
Тук е репото: https://github.com/contiki-os/contiki/tree/master/core/loader
Ама те почнали и нова версия "contiki-ng", и нещо не откривам pdf-ите, които четох навремето. Но имаха разписани идеята и, по-важното, как да постигнат тия неща с gnu инструментите.
Другата добра идея е на nuttx (той май имаше порт за pic32) - там май беше по-специален форматът на файловете, но пак има идеята.
Предполагам че ти трябва нещо далеч по-просто - нордик имат подобна реализация за техния softdevice и app. По-отдавна, luminary micro имаха функции в РОМ-а на чипа и даваха линкерски файл, в който бяха описани функциите в РОМ-а с техните адреси (като символи) - при билд можеше да ликнваш с тях, или да си ги включиш в твоя апп (ако примерно искаш да бъгфикснеш нещо, или просто да го промениш). При смяна на версия на РОМ-а си трябва нова версия на този символен файл, но то за тях не е голям проблем. При теб може би ще се случва доста по-често (предвид това че не си ограничен да е в РОМ). От една страна можеш да пазиш обратна съвместимост в новите версии на "биос"-а, от друга можеш да си адаптираш процеса на билдване първо да разбира коя версия е bios-а и тогава да линква коректно - ако имаш инструмент за зареждане/билдване, това цялото може да е скрито - чете се версия на биоса, намира си по версията верния линкер скрипт и билдва/линква. И двете имат предимства и недостатъци, както всяко нещо.


Вто Мар 02, 2021 8:57 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1954
Мнение Re: Новото проектче :)
Защо не си направиш call-151 :)

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Вто Мар 02, 2021 9:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4574
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: Новото проектче :)
gicho написа:
......


Да, точно концепцията на луминари ми трябва. Имам ром с функциите и хедър който ги описва, който закачам към юзърска програма. Проблемът ми е как да направя тоя хедър файл.
Иначе изглежда ще успея да излъжа ХС32 да компилира юзърските програми, а аз после ще ги зареждам и пускам с мой лоудър


syscop написа:
Защо не си направиш call-151 :)


И какво да прави?

_________________
'просто' е технически синоним на 'красиво'


Вто Мар 02, 2021 9:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Мар 13, 2006 12:59 pm
Мнения: 3855
Местоположение: Габрово
Мнение Re: Новото проектче :)
За директен начин незнам, но там инструменти бол - readelf, objdump, objcopy - все ще можеш да си извадиш нужната информация. В краен случай и от един map файл можеш да го генерираш. Бях правил нещо подобно навремето, но беше някакъв питонски модул, дето парсираше елф и търсех нещо вътре.


Вто Мар 02, 2021 10:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: Новото проектче :)
Имаш възможност да обявиш именован код сегмент и да му зададеш адрес. После всички биосовски функции се задават да са в този сегмент. Или пък -имаш възможност да задаваш абсолютен адрес на функция - така поне го разбрах в описанието на XC32.
Тогава на юзерската програма и трябва само тоя адрес и няколко инструкции на асемблер, ако не се намери друго решение.

От тая материя имам спомени от ДОСа, повечето функции се викат през едно прекъсване, с различни стойности на AX регистъра. Доколкото прочетох и ПИК32 има 1-2 софтуерни прекъсвания.

Или съм много далече от 32битовите и въпросът е съвсем друг?


Вто Мар 02, 2021 10:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1954
Мнение Re: Новото проектче :)
Н'бабане Гт'муан'га написа:
...
И какво да прави?


Имаш входна/ни точк(а|и) на определен(и) адрес(и). Правиш стартъп за програмите на потребителите + файл за линкера да ги намести на правилния адрес. Подобно нещо се случва след reset. Разликата е, че няма нужда от инициализация на памети, периферия и т.н., и адресът, от който ще тръгват е различен.

Човечето иска да мига светодиод, пише си програмата свързва я с твоя стартъп и/или евентуално други библиотеки. Качва си програмата чрез твоя "биос, loader" на определен адрес и я стартира (или ти автоматично я стартираш).
Даваш му header/source с описание на входната/те точк(а|и), за да може да ползва функции, които ти му предоставяш. Ако няма да му разрешаваш да ползва твои функции отпада необходимостта от входна/ни точк(а|и).

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Вто Мар 02, 2021 10:48 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4574
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: Новото проектче :)
Аха, разбирам какво имаш предвид, ама това не е каквото call-151 прави :)

_________________
'просто' е технически синоним на 'красиво'


Сря Мар 03, 2021 3:49 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4574
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: Новото проектче :)
Току що рилийснах първата завършена версия: ello.cc

_________________
'просто' е технически синоним на 'красиво'


Вто Мар 16, 2021 4:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 8:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Новото проектче :)
Като за начинаещ бива.
Надявам се сега като си по-спокоен и си видиш грешките, да пуснеш и подобрената версия.
Нека тези първоначални спънки не те откажат от мечтата ти, някой ден да разработиш свестен демонстрационен компютър.

_________________
Warriors of the Night, ASSEMBLER!!!


Съб Мар 20, 2021 3:43 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 1:01 pm
Мнения: 1952
Местоположение: Варна
Мнение Re: Новото проектче :)
ike написа:
Като за начинаещ бива.
Надявам се сега като си по-спокоен и си видиш грешките, да пуснеш и подобрената версия.
Нека тези първоначални спънки не те откажат от мечтата ти, някой ден да разработиш свестен демонстрационен компютър.

Ха :D
Да не би...?!? Да казваш, че царят е гол?

_________________
Най-опасният враг на истината и свободата е мнозинството.


Съб Мар 20, 2021 8:07 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4574
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: Новото проектче :)
ike написа:
Като за начинаещ бива.
Надявам се сега като си по-спокоен и си видиш грешките, да пуснеш и подобрената версия.
Нека тези първоначални спънки не те откажат от мечтата ти, някой ден да разработиш свестен демонстрационен компютър.


Благодаря. Ще продължавам да боря и се надявам като порасна някой ден да стигна до твоето напреднало ниво. Ще ми е също от голяма полза да покажеш нещо твое за да мога да се уча оттам

_________________
'просто' е технически синоним на 'красиво'


Съб Мар 20, 2021 12:00 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 26, 2005 1:01 pm
Мнения: 1952
Местоположение: Варна
Мнение Re: Новото проектче :)
Н'бабане Гт'муан'га написа:
...

Благодаря. Ще продължавам да боря и се надявам като порасна някой ден да стигна до твоето напреднало ниво. Ще ми е също от голяма полза да покажеш нещо твое за да мога да се уча оттам

Никой, нищо ново, не може да те научи, за това как се правят "чесалки за егото" на Н'бабане Гт'муан'га.

_________________
Най-опасният враг на истината и свободата е мнозинството.


Нед Мар 21, 2021 3:22 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 8:14 am
Мнения: 4574
Местоположение: Новата земя на племето Мутум'ба
Мнение Re: Новото проектче :)
Zdrav написа:
Никой, нищо ново, не може да те научи, за това как се правят "чесалки за егото" на Н'бабане Гт'муан'га.


Ако това те тормози, не е мой проблем. Намери си начин да се чешеш сам, аз нямам интерес...

_________________
'просто' е технически синоним на 'красиво'


Нед Мар 21, 2021 3:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 8:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: Новото проектче :)
1. Хареса ми това че си избрал да направиш лесен компютър за хората, които сега навлизат в електрониката. Само с няколко елемента могат да направят нещо работещо и от там могат да тръгнат да правят експерименти.
2. Хареса ми и това че си избрал С, а не BASIC, защото BASIC уврежда повече мозъка отколкото С.
Н'бабане Гт'муан'га написа:
Ще ми е също от голяма полза да покажеш нещо твое за да мога да се уча оттам

Нека първо започнем с две картинки. Едната е с размер 85 531 байта, а другата е с размер 61 168 байта. На тебе лично коя снимка ти харесва повече - по-голямата или по-малката?
JPG:
Изображение

GIF:
Изображение


Прикачени файлове:
ELLO1AL2.gif
ELLO1AL2.gif [ 59.73 KiB | Прегледано 3058 пъти ]

_________________
Warriors of the Night, ASSEMBLER!!!
Нед Мар 21, 2021 11:47 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 36 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни