<bgdev />free

| |  


All tags 2023 9may ai algorithm alpha amd american api argon2 arm asm asmbb assembler attachment awareness balgaria bay888 bcrypt bender beta bgdev-next bgdev-next.👍 big.data bitchnigga bitcoin bmw boi borg brexit bug bulgaria business c cad chat cloud computer-names console crossorigin deprivation desktop dna dotnet email eupl falling feature forum foundation fp fresh fun game gcc github goats google gpl gpt gpt.3.5 gypsies happiness harvard hash improvement include investment it java javascript js kleta kleta.maqka.balg lambi language learning leftovers legend level levenshtein.dist libx license linkedlist linux m0 ma mcafee mele microsoft minimag minimalism negro net nginx nigga not.a.bug oop paradigm parler patterns perception persuasion pipe play.station politics populi pornhub pow pro programming protonmail python reba rust sci-fi scripting seks seo server shell sleep smartbeauty soft-skills sqlite srabska sse starship sugerface syntax tablet tailwindcss telegram theme thug troll80lvl tutanota typescript uacme ui uk unix untermensch upload uptime usa utilities ux vb via viber virtual.reality vox vps vulnerable war wasm weapons-grade web windows word x86 xbox xss youtube zig ziglang Übermensch БОКЕБЪЛГАРИН БЪ БЪлгария Белезниците Били Били.Белезниците БялДонор Веган Виста Възраждане ГЛУПАК Гана Глиста ЕС Казарма Копейкин Мода.и.овча.мисъ НЕКАДЪРНИК НРБ ПО-ЗЛЕ.И.ОТ.РАБИ Подкасти Разни Румен СИК СКУМ СетенЧук Скум ТИР Туче Украйна Урсула Яначков авангард аз айфонджия алгоритми амбиции анархизъм антиваксъри армения аудио аутисти бази.данни бакъп без без.пръчове безпросвета бенчмарк биготи биомаса бира боклук борисов ботев брадва булшит бъг бъгове бял ваксина вандал век венерика викинги вицове вишу война вървежен гана ганорник гей гейщина германия герои гешев глупак говеда групировка гюбек данъкоплатец двойни.стандарти дедотия демокрация дизайн дисциплина добитък докери долар донори држава дришльо дрон ебане еврогейски.съюз езици експеримент електроника електроника.s2 емиграция ендпойнт енум ерген ергономия жалкар задача затоплизъм защита здраве златен злато игри идеали идиократ идиократи идиокрация идиот избори избори.рабин изкуство икономика имбецили имейл инвестиране инокулация инструмента интервю ипад искам.да.си.реда казах камшикодържач капитализъм карабах караница картечница кино клавиатура ковид19 колайдер колям.кур комари комплексар комунизъм консолидация конспирации космонавтика кофа кофит-19 краставица криптовалути курви кучелюбци лайно лаладжия лаптоп либерастия литература лоши.практики луд лъжеучени лъжец любов майни майтапи малоумници мафия мениджмънт месо местене метавселена метафизика механика мистика мисъл мода мода.овча.мисъл модерация морал мутра мутри наука национализъм не.it негър некадърник некадърници неон нидерландия овча овчи олигофрени организация офтопик парички партия педал пенджури пенсия пишока плюскане победа погромист поезия политика порно посредствен почивка празници прасе превод предалщина програмиране проект проста простотии против.правилата проф пръч пръч.дришльо пръчка психика психични.болести психология пустиняк путин путката путьо рабин рабин.е.шибан.пе работа радост разврат разни разработка расизъм резерват рейтинг реклама рекламен религия рест ризи ропче ропчета русия руски.език рутина самоковска сасипаха секира село селяндур сериали сериозно.програм сетен сеянин симулация скопяване скръм слушалки сортиране софия софтуер софтуни социализъм спектрометър спринтове сране стандарти стил стуйо стюи сушилня сцена съвет съм сън сървър сърничка таб ташаци телевизия тема територията терминология термояд технологии титли традиция тролинг тръмп туба туче тъпак тъпанари тъпня уиндоус украйна умнокрасивци фалит фантастика фашизъм фейк.акаунти физика филми форум форумни.проекти футбол хазарт хамали харабия хардуер хахаха хомофобия хостинг храна хумор цайко цайси целофан цензура цензурра циганин чалга чалгар чекии чернокраки честота чипове чнг чужбина чук шпация щайга юан яката яко ям 🔨 😂 🪓


странна ситуация (арм, гцц)

  

0 1


  Дон Реба  Последно редактирано на 23.11.2024 от Дон Реба, видяно: 271 пъти. #128103

опитвам се да подкарам ей тоя контролер, чудесно изглежда - 60 стотинки за бройка, 32 битов, 48 мегахерца, 5 милиампера консумация, перфектен за хобизма ми. искам да го подкарам в "чиста среда" това значи - компилатор от команден ред, програматор от команден ред, всичко от команден ред. ама защо ама как , ама имат много хубава среда кейл - няма да го дискутирам това, разбирачите им е ясно, а само те имат значение. та ето какво се случва - подкарах компилатор гцц, програматор edbg (с дописване, оригинално не поддържа тоя контролер), кода се записва и се чете от контролера същия какъвто е. обаче контролера не пали, окей почвам да разследвам елфа (objdump" - S disassemble test.elf > dis.asm) и какво виждат очите ми:


0000028c <Reset_Handler>:
 28c:	480c      	ldr	r0, [pc, #48]	; (2c0 <L_loop3+0x2>)
 28e:	4685      	mov	sp, r0
 290:	480c      	ldr	r0, [pc, #48]	; (2c4 <L_loop3+0x6>)
 292:	490d      	ldr	r1, [pc, #52]	; (2c8 <L_loop3+0xa>)
 294:	4a0d      	ldr	r2, [pc, #52]	; (2cc <L_loop3+0xe>)
 296:	2300      	movs	r3, #0
 298:	e002      	b.n	2a0 <L_loop0_0>

до тук добре, съвпада с кода който се очаква, той върви с СДКто като асм файл startup_apm32f00x.S и просто го включвам в кюпа.

обаче ето какво седи във векторната таблица

My picture

защо мамка му е 28D като трябва да е 28C , някой удрял ли е подобна греда?

Attached files:
FileSizeUploadedDownloadsMD5 hash
image.png2618 bytes23.11.202466407051539aa16f0d21b473dcd1ef1e44


  waldorf  Създадено на 23.11.2024, видяно: 268 пъти. #128104
Дон Реба

опитвам се да подкарам ей тоя контролер, чудесно изглежда - 60 стотинки за бройка, 32 битов, 48 мегахерца, 5 милиампера консумация, перфектен за хобизма ми. искам да го подкарам в "чиста среда" това значи - компилатор от команден ред, програматор от команден ред, всичко от команден ред. ама защо ама как , ама имат много хубава среда кейл - няма да го дискутирам това, разбирачите им е ясно, а само те имат значение. та ето какво се случва - подкарах компилатор гцц, програматор edbg (с дописване, не оригинално поддържа тоя контролер), кода се записва и се чете от контролера същия какъвто е. обаче контролера не пали, окей почвам да разследвам елфа (objdump" S disassemble test.elf > dis.asm) и какво виждат очите ми:


0000028c <Reset_Handler>:
 28c:	480c      	ldr	r0, [pc, #48]	; (2c0 <L_loop3+0x2>)
 28e:	4685      	mov	sp, r0
 290:	480c      	ldr	r0, [pc, #48]	; (2c4 <L_loop3+0x6>)
 292:	490d      	ldr	r1, [pc, #52]	; (2c8 <L_loop3+0xa>)
 294:	4a0d      	ldr	r2, [pc, #52]	; (2cc <L_loop3+0xe>)
 296:	2300      	movs	r3, #0
 298:	e002      	b.n	2a0 <L_loop0_0>

до тук добре, съвпада с кода който се очаква, той върви с СДКто като асм файл startup_apm32f00x.S и просто го включвам в кюпа.

обаче ето какво седи във векторната таблица

My picture

защо мамка му е 28D като трябва да е 28C , някой удрял ли е подобна греда?

Не е греда. В арм32 всички инструкции са 32 битови т.е. Винаги са на кратен на 4 адрес т.е. младшите 2 бита на адреса са винаги нули.

Когато се пръква това недомислие тъмб (thumb) който е 16 битов скин върху 32 битовите инструкции т.е. процесора си е пак същия но 16 битовите инструкции се конвертират до 32 битови според един флаг.

И тук е врътката. Тарикатски са решили този флаг да се контролира от най младшия бит от адреса при преход. Затова тъмб кода е на нечетен адрес. Т.е. всичко си е наред, не се шашкай.

Относно твоя проблем - клати пинове в кода за да проследиш докъде стига или не стига и после гледай с лог.анализатор.

Ако пак запънеш направо ми звънни да дам едно рамо.



  Дон Реба  Създадено на 23.11.2024, видяно: 264 пъти. #128105

хаха, евалата, старото куче си е старо куче!

а тва с клатенето на пинове много бързаш, то ясно че първо това се прави, но тука изобщо не стигаме до там. сега ще пусна осцилатора да излиза навън, и това (ако се задейства) ще го ползвам за трасиране до къде изобщо стига кода - излезе ли значи сме минали през точката



  Реконструктор  Създадено на 23.11.2024, видяно: 261 пъти. #128106
waldorf

Когато се пръква това недомислие тъмб (thumb)

Не съм убеден, че за ембедед е недомислие, още повече, когато е мислен



  Дон Реба  Създадено на 23.11.2024, видяно: 259 пъти. #128107

е да хабиш 32 бита за кодиране на 50-100 инструкции си е тотално и фрапиращо разхищение при килобайтова памет



  Реконструктор  Създадено на 23.11.2024, видяно: 257 пъти. #128113

Точно де. Що не си ползваш оргиналдъ STM32, а се мъчиш с тоя китаец? :-) Разликата в цената е нищожна, но за STM има вече изградена много обширна екосистема, всичко тръгва от раз и не го мислиш.



  Дон Реба  Създадено на 23.11.2024, видяно: 251 пъти. #128118

тоя специално си е чисто техен, не е копие на стм, но и да беше все тая - както казах държа на чиста среда, никакви кейлове мейлове и "удобства".



  Rabin  Последно редактирано на 23.11.2024 от Rabin, видяно: 251 пъти. #128119

Има по-евтини, ако гоним цена. Има по-ширпотребни, ако гоним производителност.

Нещо ми бяга идеята сефте да разработваш нова концепция. Да ти дам въдиците, ако толкоз ти е скучно у вас?

In-circuit debugging имаш ли? Емулатор?



  waldorf  Създадено на 23.11.2024, видяно: 229 пъти. #128124
Реконструктор

Не съм убеден, че за ембедед е недомислие, още повече, когато е мислен

Зависи кой какво приоритизира. За мен е по важно да има условно изпълнение на всяка инструкция - нещо което го има във всяка 32 битова инструкция но е изрязано в 16 битовия тъмб и е заменено с if-then-else инструкция която казва с 4 бита кои от следващите 4 инструкции да се изпълнят и кои не. На пръв поглед това е ОК само, че нещата се омотват ако стане прекъсване по време на изпълнение на този цикъл от няколко инструкции. Т.е. върху едната кръпка слагат втора с която запазват състоянието на тези 4 бита за да се знае до къде се е стигнало с условното изпълнението. Да не говорим, че е забранено в този момент да вложиш второ условно изпълнение - нещо което може на 32 битовите инструкции. Съответно всяка кръпка може да се сбърка и господ да ти е на помощ да дебъгваш краш на защитен от дебъгване банков пос терминал който крашва защото при превключване на нишките в кофти място изпълнява и then и else инструкциите защото нещо се е омотало при възстановяване на тези 4 бита. По добре въобще да не я бяха слагали тази if then else инструкция. ОК, скопили са елегантните 32 битови инструкции до 16 бита, ама да не го правят и бъгливо.

А който иска да има сбит код да си ползва 8 битови процесори. Тая простотия са я направили 90-те когато започват да се произвеждат масово умнофони с арм процесор който точно заради елегантния си дизайн е с изключително ниска консумация при повече от прилична производителност т.е. идеален за батерии. Да ама него време паметта беше скъпа и 32 битов флаш вдига с няколко цента цената спрямо 16 битова. 30 години по късно това не е така. Днес флаша е евтин. За чий ти е да скопяваш 32 битов процесор до 8 битов?!



  Дон Реба  Последно редактирано на 23.11.2024 от Дон Реба, видяно: 222 пъти. #128125

скопяването е ок, това че е бъгливо не е ок. освен това не е ли опционално, гледам че на компилатора се подава опция - mthumb



  Реконструктор  Създадено на 23.11.2024, видяно: 204 пъти. #128130
waldorf

Зависи кой какво приоритизира. За мен е по важно да има условно изпълнение на всяка инструкция - нещо което го има във всяка 32 битова инструкция но е изрязано в 16 битовия тъмб и е заменено с if-then-else инструкция която казва с 4 бита кои от следващите 4 инструкции да се изпълнят и кои не. На пръв поглед това е ОК само, че нещата се омотват ако стане прекъсване по време на изпълнение на този цикъл от няколко инструкции. Т.е. върху едната кръпка слагат втора с която запазват състоянието на тези 4 бита за да се знае до къде се е стигнало с условното изпълнението. Да не говорим, че е забранено в този момент да вложиш второ условно изпълнение - нещо което може на 32 битовите инструкции. Съответно всяка кръпка може да се сбърка и господ да ти е на помощ да дебъгваш краш на защитен от дебъгване банков пос терминал който крашва защото при превключване на нишките в кофти място изпълнява и then и else инструкциите защото нещо се е омотало при възстановяване на тези 4 бита. По добре въобще да не я бяха слагали тази if then else инструкция. ОК, скопили са елегантните 32 битови инструкции до 16 бита, ама да не го правят и бъгливо.

А който иска да има сбит код да си ползва 8 битови процесори. Тая простотия са я направили 90-те когато започват да се произвеждат масово умнофони с арм процесор който точно заради елегантния си дизайн е с изключително ниска консумация при повече от прилична производителност т.е. идеален за батерии. Да ама него време паметта беше скъпа и 32 битов флаш вдига с няколко цента цената спрямо 16 битова. 30 години по късно това не е така. Днес флаша е евтин. За чий ти е да скопяваш 32 битов процесор до 8 битов?!

Принципно е добра идея за всеки професионалист да вниква в умовете на колегите си и да може да се сеща кое защо е направено. Както бе споменато, 32 бита за няколко десетки инструкции е страшно разхищение. От друга страна, хората, които са го измислили, по никой начин не са се сетили, че от пича въшка за 60 стинки някой ще иска многозадачност. И аз не бих си го помислил. По същия начин, ако измислях ЗДвП не бих могъл да предвидя, че ще има олигофрени, за които 50 км/ч е прекалено висока скорост.

Убий ме, ама посмъртно не мога да се сетя за какво му е многозадачност на един банкомат.

В ембедед света има много голям гап - за едната половина задачи е достатъчен много прост 8/16 битов проц, за другата - сериозен пауър. Почти няма приложения, които да са посредата. Това, че има умствено изостанали, които искат от много простия процесор да изпълнява задачи не от неговия свят, дали поради незнание и неумение, дали от скъперничество, не е проблем на архитектурата на простия процесор.



  Дон Реба  Създадено на 23.11.2024, видяно: 200 пъти. #128132
Реконструктор

От друга страна, хората, които са го измислили, по никой начин не са се сетили, че от пича въшка за 60 стинки някой ще иска многозадачност.

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



  Rabin  Създадено на 23.11.2024, видяно: 179 пъти. #128145

Банкоматите съм ги виждал на Изчадие ХР.



  Реконструктор  Последно редактирано на 23.11.2024 от Реконструктор, видяно: 171 пъти. #128146
Дон Реба

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

Ако няма гаранция за 100% връщане, наистина е за боклука тоя проц. Силно ме съмнява, че има такива на пазара. Ама да видим какво се има предвид под "прекъсване".



  Rabin  Последно редактирано на 23.11.2024 от Rabin, видяно: 168 пъти. #128147
Реконструктор

Ама да видим какво се има предвид под "прекъсване".

Като напълниш таймер, или вдигнеш пин - спира програмата мигновено и изпълнява кратка функция, закачена на прекъсването. Обикновено е накована хардуерно, int зарежда прог каунтър на неговия адрес. Само не тряя забраяш reti.



  waldorf  Създадено на 23.11.2024, видяно: 128 пъти. #128154

Като гледам капацитета на коментиращите, мисля, че няма смисъл от повече коментари … що ти била многозадачност без да си наясно що е то ПОС терминал - питай Миро в другия форум да ти обясни - аз нямам нерви и мерак …



  Rabin  Създадено на 23.11.2024, видяно: 124 пъти. #128155

И най-мизерните контролери, се пишат многозадачно, коментираните прекъсвания.

Имам една книга - цяла ос за древен 8 битов 8051.



  synergie  Създадено на 23.11.2024, видяно: 110 пъти. #128158
waldorf

Като гледам капацитета на коментиращите, мисля, че няма смисъл от повече коментари … що ти била многозадачност без да си наясно що е то ПОС терминал - питай Миро в другия форум да ти обясни - аз нямам нерви и мерак …

Нивото на коментиращия е ужасно ниско по принцип не само тук



  Rabin  Създадено на 23.11.2024, видяно: 100 пъти. #128159

В БгБуля броят 3 пъти по 3, всички дупки по телесата, против уроки.



  Реконструктор  Създадено на 23.11.2024, видяно: 91 пъти. #128165
waldorf

Като гледам капацитета на коментиращите, мисля, че няма смисъл от повече коментари … що ти била многозадачност без да си наясно що е то ПОС терминал - питай Миро в другия форум да ти обясни - аз нямам нерви и мерак …

Това, къде си цъкаш картата в магазина, на прав път ли съм?


0 1


странна ситуация (арм, гцц)

  



AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL; Powered by Assembly language Created with Fresh IDE