avr-gcc .init sections

I am sorry, this text in English does not exist (yet).
I offer exuses here. Try google translate.

Для програм, написаних мовою С чи С++, часто буває зручно, а іноді просто необхідно проініціалізувати якісь ресурси мікроконтролера до початку роботи фунцкії main() (для C++ — до початку роботи конструкторів статичних об’єктів). В багатьох системах програмування для цього використовується функція на зразок low_level_init(), яка викликається з С-шного «пускача» (start-up module, в більшості випадків пишеться на асембелрі) і має бути визначеною десь в проекті. Якщо такої функції нема, тобто програміст її не написав у даному проекті, то з бібліотеки береться коротка «затичка» (stub), яка просто нічого не робить.

У avr-gcc це зроблено дещо по-іншому. Використовуються можливості системи програмування по обробці секцій (сегментів, sections, segments) програми. Вашій увазі пропонується невеличкий приклад з детальним описом.
Continue reading ‘avr-gcc .init sections’ »

Attached Files:

Excuse

I wrote about my ‘lazy busyness’ earlier.

I want to write about many things but when I think about translations…
So I decided to split a job into smaller pieces. This way I will not afraid to do it. Firstly, I will write in Ukrainian then I will do English and Russian translations.

If there are some posts to translate they will be processed in order of comments activity. I hope you can vote that I translate a post if you notice code pieces, keywords or other things. translate.google.com can help you as well.

Shure, you can ask or make a comment in English.

Розчистка завалів

В результаті невеликого наведення порядку (чи то наведення невеликого порядку) відгреблося в сторону і готове потрапити в добрі руки:

P80C31BH (DIP-40) 1
P80C51FA (DIP-40) 1
D87C51FA (CERDIP-40) 1
AT89C52-12PI (DIP-40) 1
AT89C55-24PI (DIP-40) 2
AT89C55-33PI (DIP-40) 1
AT89C51-24JC (PLCC-44) 1
AT89C51RC-24JI (PLCC-44) 1
AT90S8515-8JI (PLCC-44) 3
T89C51RD2-IM (PLCC-44)
1
Scenix SX28AC/DP 1
FM1608-P (DIP-28)
2 (зарезервовано)
HY6264ALP-10 (15мм DIP)
1 (зарезервовано)
2
27C64, 27C256, 27C1001 (CERDIP) Не рахував

Все це не паяне, але половина з цього побувала в панельках 🙂
Мікроконтролери та EPROM-ки перешивалося не багато разів (а деякі взагалі не зашивалися), так що ресурс ще не вичерпано.

Крім того є здуте з плат, які йшли на викидання. Має бути робочим:

MSP430F1101 5 (зарезервовано 3)
MSP430F1101A 11 (зарезервовано 5)

З ними якась кількість кварців 32768 Гц в корпусах TC-28.

Все роздається.

Писачки попрацювали

і стали закопченими.

Писачки різних видів.

Праворуч писачки, зроблені кілька днів тому, ліворуч — ті, що я робив кілька років тому зі звичайної жерсті. Той, що в центрі, заслужений — нам колись давно дали «для розгону».

DIY pysachok (kistka)

Creative Commons License © Oleksandr Redchuk aka ReAl, 2011
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Easter is coming and the Ukrainians prepare for making pysanky (a Ukrainian Easter egg). If you want to paint a pysanka you need a suitable instrument — a stylus, known as pysachok, pysal’tse or kistka (depending on region).

The simplest pysachok looks like a tin cone fixed into a hole in a wooden stick (as here on the left picture or here in the centre). It’s very easy to make but it doesn’t hold enough wax (beeswax) and gets cold quickly…

A good pysachok should be able to keep wax warm in order to make long lines without gaps. Such a stylus might have a copper tank for wax and a thin nozzle.

You can make a good pysachok yourself — just combine a cone with a heat accumulator made from copper wire.

The stylus’ design is simple:

Писачок

Навчитися робити писачки… » » »

Олімпіада з програмування мікроконтролерів.

Кілька годин тому закінчилася чергова олімпіада для студентів, засновником, організатором та спонсором якої є фірма «Open System». Вже три роки, як вона проводиться не в Хмельницькому, а в Києві, на базі Кафедри конструювання електронно-обчислювальної апаратури ФЕЛ КПІ.

Цього року олімпіада пройшла дещо спокійніше, ніж минулого та позаминулого.
З одного боку — завдань було менше і вони були простіші. Більшість задач були прийняті з першого разу, що зменшило об’єм роботи «командам» журі. Я навіть боявся, що виникнуть проблеми у верхній частині турнірної таблиців зв’язку з тим, що багато команд розв’яжуть всі задачі. Але тут спрацювали додаткові бали за мінімальний розмір коду, які у кожної з команд автоматично вийшли різними і переможці розсортувалися чітко і без питань.
З іншого боку — набагато менше учасників прийшло на апеляцію. Хоча, як і в минулі роки, апеляції були практично лише в стилі «ми старалися і нам було важко, тому…» та «чому сервер не прийняв наш останній розв’язок, який ми спробували послати вже після того, як сервер перестав приймати розв’язки», все пройшло значно спокійніше.

А родзинкою цьогорічної олімпіади було додаткове змагання «танків-роботів», на якому танки мали знайти за допомогою «міношукача» монети в одну гривню серед приклеєних до столів 10- та 25- копійчаних монет.
Сподіваюся, найближчим часом організатори викладуть відеозаписи.

На мій погляд, найкраще їздив танк команди, яка не потрапила в призові місця через випадковість, підсилену кубковою системою конкурсу. Вони «вилетіли» у чверть-фіналі. Журі оперативно порадилося і додало номінацію «приз глядацьких симпатій» (і це було підтримано бурхливими оплесками глядачів).

Я отримав танк одночасно з командами на початку березня. Але (тут викреслено купу відмазок на зразок «робота», «сім’я-діти», «інші проекти, та ж scmRTOS, свіжа версія якої на підході») я вже давно не студент, тому не вистачило мені не останньої ночі, а останніх тижнів так двох :-). Відповідно, мені нічого було показати — особливо на фоні найкращого танка.

Ще раз всіх вітаю і всім дякую.

Сережки

Думки зграями літають по світу і шукають собі прихисток в головах. Одна цікава зграйка нещодавно пролітала повз Київ.
Інакше як пояснити такий синхрон — близько двох тижнів тому син захотів зробити в подарунок «радіотехнічні сережки». Через пару днів, якраз коли він сів експериментувати з резисторами, я зазираю в блог BSVi і бачу там «ембед-сережки»
Тільки син збирався зробити щось з більш «олдскульних» детальок. Я вчасно зрозумів, що мова йде не про П416, МП39, Д7Ж та ВС-0.25 🙂

Комбінації з резисторів було забраковано. Принаймні, зі стандартних МЛТ. Може з тих, які з маркуванням кольоровми кільцями, щось і вийде, але то пізніше.
В минулі вихідні якось знайшлася інша робота, а на ці я йому відгріб різних стабілітронів та діодів в скляних корпусах.

Після недовгих коливань були відібрані кольори та вибрана форма.
Вийшло ось таке:

Я лише на першій пайці показав, як таке закріпити і як правильно робити акуратні пайки з мінімальною кількістю припою, та потім перше кілечко-закінцівочку вигнув круглогубцями.
Думаю, що для першого разу у нього вийшло дуже непогано.

А ще я знайшов у себе жменьку 2Т203Б та деякі мікросхеми…
Сподіваюся, син не охолоне і буде продовження 🙂

ManSound у Тайвані

Марічка з компанією побували на концерті ManSound, який проходив у них в університеті (NCTU).

Концерт ManSound в NCTU

Після концерту вони побалакали зі співаками, сфотографувалися та взяли автографи.
Подія сама по собі варта уваги, але цікаво також те, чому це повідомлення у мене проходить також і по тегу «Навчання». Кожен студент повинен протягом року відвідати кілька «культурних заходів» — виставок, концертів. Вище якраз сторіночка з каталогу рекомендованих.
Ціни на квитки, як вказано в каталозі, від NT$150 до NT$400. При цьому суттєву частину вартості квитка оплачує університет. Квиток концерт ManSound «за NT$250» по студентському обходився за NT$170, що приблизно рівне 43 гривням, найдорожчий квиток обійшовся б орієнтовно в сімдесят гривень.

Смажені трутовики

Прийшла пора їсти ті трутовики, про які писалося раніше.
Така пора приходила вже не раз, бо їх було знято з дерева багатенько, але все не співпадали в часі процес приготування та бажання сфотографувати та написати.
Continue reading ‘Смажені трутовики’ »

How to install two versions of libftd2xx

As it was published before 64-bit libftd2xx.so libraries version 1.0.0 and above are not compatible with earlier ones. There are no problems with 32-bit libraries.
It is necessary to install old libftd2xx package for 64-bit avreal/Linux. The package can be downloaded from here.
AVReAl beginning from 1.28r6 loads the library by name libftd2xx.so.0 but not libftd2xx.so. That allows to install both library versions.
Let review installation process.

Continue reading ‘How to install two versions of libftd2xx’ »

[flagcounter image]