Я роблю і те, і інше, тому ось мій погляд.
Я думаю, що найважливіший навик на сьогоднішній день вбудований - це ваша здатність до налагодження. Необхідний спосіб мислення значно відрізняється тим, що набагато більше може піти не так, і ви повинні бути дуже відкритими до розгляду всіх різних способів, що ви намагаєтесь зробити, можуть піти не так.
Це найбільша проблема для нових вбудованих розробників. Люди на ПК, як правило, більш грубі, оскільки вони звикли так просто працювати на них. Вони, як правило, витрачають багато часу на пошуки інструментів, щоб зробити замість них речі (підказка: їх не так багато). Там багато стукає головами в стіни знову і знову, не знаючи, що ще робити. Якщо вам здається, що ви застрягли, відступіться і з’ясуйте, чи зможете ви визначити, що все може піти не так. Систематично проходьте звуження списку потенційних проблем, поки не з’ясуєте це. Безпосередньо з цього процесу випливає, що вам слід обмежити коло проблем, не змінюючи занадто сильно відразу.
Досвідчені вбудовані люди, як правило, приймають налагодження як належне ... більшість людей, які не можуть це зробити, не тривають довго (або працюють у великих компаніях, які просто приймають "прошивку важко" як відповідь, чому певна функція пізніше)
Ви працюєте над кодом, який працює за зовнішньою системою до вашої системи розвитку, з різним ступенем видимості для вашої цілі від платформи до платформи. Якщо ви перебуваєте під вашим контролем, натисніть на розробку посібників, щоб допомогти збільшити цю видимість у вашій цільовій системі. Використовуйте послідовні порти налагодження, вивід налагодження біт-ударів, відомий миготливий індикатор тощо. Звичайно, як мінімум, навчіться користуватися осцилографом та використовувати штифтовий ввід / вивід із "областю", щоб побачити, коли певні функції входять / виходять, спрацьовують ІРС та ін. Я спостерігав, як люди борються буквально на роки довше, ніж це потрібно, просто тому, що вони ніколи не намагалися налаштувати / навчитися користуватися правильним посиланням налагодження JTAG.
Набагато важливіше бути дуже обізнаним, які саме ресурси у вас є щодо ПК. Уважно прочитайте таблиці. Поміркуйте, що ресурс "коштує" всього, що ви намагаєтесь зробити. Вивчіть налагодження налагодження, орієнтовані на ресурси, як наповнення простору стеку магічним значенням для відстеження використання стека.
Хоча деяка ступінь навичок налагодження потрібна як для ПК, так і для вбудованого програмного забезпечення, це набагато важливіше з вбудованим.