Автор |
Съобщение |
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
нещо ме омагьоса GCC - cortex-M4 ... thumb(май е 2) ... няма arm инструкции
имам функции дето са в RAM: void Foo(void){ бла-бла } компилатора генерира ROM veneer ... __Foo_veneer
int main(void) { .... BL __Foo_veneer ... а с veneer-а скача на RAM Foo() ... }
__Foo_veneer: LDR.W PC, =(Foo+1) те това генерира 32 битова инструкция в thumb ?!? като call-ва thumb LABEL+1 ?!? и работи... и що работи?
_________________ main[-1u]={1};
|
Пет Авг 26, 2022 9:17 pm |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4194 Местоположение: Brussels / Пловдив
|
Re: GCC
Thumb2 си има и 32 битови инструкции, не само 16 битови. Предполагам си го видял ако си направил .lst файл при линкването - голяма боза е. Сега ровя за един бъг в Zephyr - хванах, че скедулера им от време на време омотва изпълнението на IT(hen)E(lse) инструкциите най вероятно замазвайки CPSR регистъра. Голяма простотия, ако имаше как да се ползва ARM32 вместо Thumb2 щеше да е къде по надеждно - и това за да се наврят с 10-20% повече инструкции на килобайт ...
_________________ Мразя да мразя ...
|
Съб Авг 27, 2022 6:40 am |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
мии с търсене и четене и аз нещо такова разбрах и тва го прави при оптимизация -Os иначе го кара на Thumb16, но venner = 16 байта, а горния го прави на 8 байта, та ми трябваше "късо парче" ... с IDA-та ми е по лесно да гледам АСМ-то Zephyr-а не знам защо го харесват толкова много(за Мх, за по големи, с MMU може би е по по най), гледах как го CMAKE-ват и е малък ужасТ
_________________ main[-1u]={1};
|
Съб Авг 27, 2022 7:11 am |
|
|
gicho
Ранг: Форумен бог
Регистриран на: Пон Мар 13, 2006 12:59 pm Мнения: 3855 Местоположение: Габрово
|
Re: GCC
Че ко не му харесваш на cmake? В смисъл, кое е по-добро? То на това ниво си е добре - ония autotools от unix-а са къде по-сложни.
|
Нед Авг 28, 2022 7:51 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
билдването на зефира е "ужас" https://docs.zephyrproject.org/latest/b ... index.htmlняма против СМАКЕ, макар че, не съм му фен...
_________________ main[-1u]={1};
|
Нед Авг 28, 2022 9:02 pm |
|
|
palavrov
Ранг: Форумен бог
Регистриран на: Вто Окт 11, 2011 10:53 pm Мнения: 4194 Местоположение: Brussels / Пловдив
|
Re: GCC
Питаш ли ме докато го накарам да не компилира с gcc ами с clang в какво чудо се видях ... това на Zephyr 1.x - от 2.х нагоре уж компилира без проблем с clang ама така са го оправили, че няма backport-ване и трябваше да разбера по сложния начин как да го подкарам. И това за да направя надежден call stack walking защото някой умник в GCC е решил, че за thumb2 няма да прави stack frame който да можеш да обходиш run-time - цялата работа за да спестят 1 инструкция в пролога на функциите ... мамицата им ... иди дебъгвай черна кутия без jtag само със сериен порт кога забива с deathlock на 60-70 нишки ...
_________________ Мразя да мразя ...
|
Пон Авг 29, 2022 6:19 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
ако някой се интересува как се споделят функции ( API ) между кернел и апликация ( -fPIC ) Position Independent Code за "малки" MCU https://github.com/Wiz-IO/OpenAPIкато резултат https://www.youtube.com/watch?v=2D3_3b4-PVo
_________________ main[-1u]={1};
|
Сря Ное 16, 2022 1:17 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
ибавам са с XC16 C++ PIC24F
_________________ main[-1u]={1};
|
Пет Ное 25, 2022 12:07 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
_________________ main[-1u]={1};
|
Вто Ное 29, 2022 12:39 pm |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3074
|
Re: GCC
Какво прави горната изцепка ?
|
Вто Ное 29, 2022 5:28 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
Ардуино/ПлатформИО за PIC24
_________________ main[-1u]={1};
|
Вто Ное 29, 2022 5:43 pm |
|
|
stefan63
Ранг: Форумен бог
Регистриран на: Вто Фев 07, 2012 10:22 pm Мнения: 3074
|
Re: GCC
Стабилизирай го малко и го пускай с някой инсталатор по 5 евро на инстанция.
|
Вто Ное 29, 2022 8:29 pm |
|
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 10:31 pm Мнения: 9645
|
Re: GCC
месечен наем, нали?
|
Вто Ное 29, 2022 8:49 pm |
|
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 1:21 am Мнения: 10612 Местоположение: София
|
Re: GCC
На ред код...
|
Вто Ное 29, 2022 9:21 pm |
|
|
TheWizard
Ранг: Форумен бог
Регистриран на: Сря Апр 27, 2005 11:48 am Мнения: 4715
|
Re: GCC
на пиксел
_________________ main[-1u]={1};
|
Пон Дек 05, 2022 10:57 am |
|
|