АВНЕТ ЕМБЕДДЕД МСЦ СМ2С-ИМКС8М Дебуг УАРТ порт АРМ засновани рачунари на модулу Упутства
АВНЕТ ЕМБЕДДЕД МСЦ СМ2С-ИМКС8М Дебуг УАРТ порт АРМ базирани рачунари на модулу

Предговор

Обавештење о ауторским правима

Ауторска права © 2023 Авнет Ембеддед ГмбХ. Сва права задржана. Забрањено је копирање овог документа, пружање другима и употреба или комуникација његовог садржаја без изричитог овлашћења компаније Авнет Ембеддед /МСЦ Тецхнологиес

ГмбХ. Прекршиоци су одговорни за накнаду штете. Сва права су задржана у случају давања патента или регистрације корисног модела или дизајна.

Важне информације

Ова документација је намењена само квалификованој публици. Овде описани производ није производ крајњег корисника. Развијено је и произведено за даљу обраду од стране обученог особља.

Одрицање од одговорности

Иако је овај документ направљен са највећом пажњом, не подразумева се гаранција или одговорност за исправност или прикладност за било коју одређену сврху. Информације у овом документу су дате „као што јесу“ и подложне су промени без претходне најаве.

Традемаркс

Сви коришћени називи производа, логотипи или жигови су власништво њихових власника.

Опште информације

Обим

Овај документ се примењује за све Авнет уграђене рачунаре на модулима засноване на НКСП и.МКС8- и и.МКС9-серије ЦПУ-а, као што је нпр.

  • СМ2С-ИМКС8ПЛУС
  • СМ2С-ИМКС8М
  • СМ2С-ИМКС8МИНИ
  • СМ2С-ИМКС8НАНО
  • СМ2С-ИМКС8 (КуадПлус/КуадМак)
  • СМ2С-ИМКС93
  • ОСМ-СФ-ИМКС91
  • ОСМ-СФ-ИМКС93
  • ОСМ-МФ-ИМКС8НАНО
  • ОСМ-МФ-ИМКС8МИНИ

Ова листа не тврди да је исцрпна, посебно зато што се могу објавити нови одбори за које се могу применити исте процедуре, док се овај документ можда неће увек ажурирати одмах.

Ревизије и модификације

Ревизија Датум Коментар
1.0 25.05.2023 М. Кох Почетна верзија

Како променити УАРТ порт за отклањање грешака

Увод

Многи системи засновани на АРМ-у долазе са серијском конзолом као главним средством за приступ у сврху отклањања грешака и подизања система. У зависности од захтева корисника, честа је потреба у таквим системима да подразумевани УАРТ порт за отклањање грешака треба да се пребаци на други серијски порт. Под дебуг УАРТ портом подразумевамо УАРТ порт који ће обезбедити сав У-Боот улаз/излаз, излаз евиденције покретања језгра и љуску кернела, у суштини сву УАРТ комуникацију која ће се видети у минималној Иоцто слици. Пошто подразумевани УАРТ порт не користи само једна софтверска компонента, већ многе компоненте, укључујући у-боот, атф-фирмваре, оптее-ос и сам кернел, постављање подразумеваног УАРТ порта може бити изазовно, а прекоview може брзо да се изгуби. Овај документ ће објаснити све кораке које треба пратити да бисте постигли овај задатак. Ради лакшег објашњења, овај документ је написан за НКСП и.МКС8 МИНИ процесор и мсцлдк, али се може применити на све и.МКС8- и и.МКС9-серије процесоре и друге системе за израду уз врло мало труда.

Окружење за припрему

Промена подразумеваног УАРТ порта за отклањање грешака ће захтевати измену кода у Иоцто-у, а најлакши начин да то урадите је да користите Иоцто девтоол да припремите изворе за нас. Биће неопходно изменити следеће Иоцто пакете:

  • у-боот-имк (виртуелни/боотлоадер)
  • линук-имк (виртуелно/кернел)
  • атф-имк
  • оптее-ос (само ако се користи оптее)

Изворе треба припремити помоћу девтоол-а: 

$ ./девтоол модификује у-боот-имк
$ ./девтоол модификује линук-имк
$ ./девтоол модификује атф-имк
$ ./девтоол модификује оптее-ос

Сви извори се могу наћи у директоријуму „радни простор“.

Модификовање кода

Модификовање покретача

У боотлоадеру ће се десити нека основна УАРТ иницијализација, тако да ће бити потребно изменити муксовање и основну адресу УАРТ порта. Други задатак у-боот-а је да проследи аргументе за покретање кернелу и овде ће бити потребно изменити аргумент тти конзоле. УАРТ иницијализација и муксовање се дешавају у најранијим сtagе процеса покретања у СПЛ-у. Изворни код се може наћи у спл.ц file.

Таргет file: радни простор/извори/у-боот-имк/боард/мсц/см2с_имк8мм/спл.ц

Отворите file и идите до функције инит_сер0():

статична воид инит_сер0(воид)
{
имк_иомук_в3_сетуп_мултипле_падс(сер0_падс, АРРАИ_СИЗЕ(сер0_падс)); инит_уарт_цлк(1);
}

Функција активира сат за УАРТ2(индекс 1 за физички УАРТ 2).

Сада, ако желимо да користимо УАРТ1 уместо тога, могли бисмо да дефинишемо сопствену функцију инит_сер1:

статична воид инит_сер1(воид)
{
имк_иомук_в3_сетуп_мултипле_падс(сер1_падс, АРРАИ_СИЗЕ(сер1_падс)); инит_уарт_цлк(0);
}

Замените позив функције инит_сер0 са инит_сер1() у функцији боард_еарли_инит_ф(). Даље примећујемо да структура сер1_падс није дефинисана. Овде ће бити неопходно да будете свесни ожичења УАРТ1. На имк8мм, УАРТ1 се може комбиновати са уарт1 јастучићима или саи2 јастучићима. Сходно томе, сер1_падс се може дефинисати као:

статиц иомук_в3_цфг_т цонст сер1_падс[] = {
ИМКС8ММ_ПАД_УАРТ1_РКСД_УАРТ1_РКС | ДЕФАУЛТ_УАРТ_ПАД_ЦТРЛ, ИМКС8ММ_ПАД_УАРТ1_ТКСД_УАРТ1_ТКС | ДЕФАУЛТ_УАРТ_ПАД_ЦТРЛ, НУЛЛ
};

Или у супротном, користећи саи2:

статиц иомук_в3_цфг_т цонст сер1_падс[] = {
ИМКС8ММ_ПАД_САИ2_РКСФС_УАРТ1_ТКС | ДЕФАУЛТ_УАРТ_ПАД_ЦТРЛ, ИМКС8ММ_ПАД_САИ2_РКСЦ_УАРТ1_РКС | ДЕФАУЛТ_УАРТ_ПАД_ЦТРЛ НУЛЛ };

Сада би УАРТ базну адресу требало променити, адреса је дефинисана у конфигурацији заглавља плоче file.

Таргет file: радни простор/извори/у-боот-имк/инцлуде/цонфигс/мсц_см2с_имк8мм.х

Измените дефиницију ЦОНФИГ_МКСЦ_УАРТ_БАСЕ. За УАРТ1 ово би било: 

  • // #дефине ЦОНФИГ_МКСЦ_УАРТ_БАСЕ
  • УАРТ2_БАСЕ_АДДР
  • #дефине ЦОНФИГ_МКСЦ_УАРТ_БАСЕ
  • УАРТ1_БАСЕ_АДДР

Коначно, аргумент кернела конзоле треба да се измени. Вредност се може наћи у истом заглављу file. Тражи “console=ttymxc1…” and modify “ttymxc1” to “ttymxc0”. The index number correlates to UART index, and is always UART index minus 1. So for UART 2 we use ttymxc1, for UART3 use ttymxc2 etc..

Измена АРМ поузданог фирмвера

Арм Трустед Фирмваре (имк-атф) нема сопствену рутину иницијализације УАРТ-а, али има тврдо кодирану УАРТ базну адресу и ослања се на исправну иницијализацију УАРТ-а из у-боот-а. Другачија конфигурација основне адресе у у-боот и имк-атф ће највероватније оставити процесор заглављен у обрађивачу изузетака и неће бити ништа видљиво на УАРТ-у (изгледа да ЦПУ виси без видљивог разлога). Када се УАРТ порт промени, ова промена се такође мора десити у имк-атф! Промена УАРТ порта у имк-атф захтева измену основне адресе. Ова вредност је постављена у платформ.мк file процесора.

Таргет file: радни простор/соурцес/имк-атф/плат/имк/имк8м/имк8мм/платформ.мк 

Тачна УАРТ базна адреса се може наћи у имк8 референтном приручнику. У овом екampда променимо са УАРТ2 на УАРТ1 на имк8мм:

# ИМКС_БООТ_УАРТ_БАСЕ ?= 0к30890000
ИМКС_БООТ_УАРТ_БАСЕ ?= 0к30860000

Модификовање оптее-ос

Оптее ОС се обично учитава када се у систему користи криптографија ЦААМ модула. Оптее ради на истим АРМ Цортек-А53 језгрима, али у другој потпуно независној инстанци као кернел. Оптее такође захтева УАРТ приступ иу овом случају то значи модификацију основне адресе.

Таргет file: радни простор/извори/оптее-ос/цоре/арцх/арм/плат-имк/цонф.мк

Овај бившиampле ће поставити УАРТ базну адресу са УАРТ2 на УАРТ1: 

#ЦФГ_УАРТ_БАСЕ ?= УАРТ2_БАСЕ
ЦФГ_УАРТ_БАСЕ ?= УАРТ1_БАСЕ

Модификовање кернела

Кернелу ће бити потребно само неколико модификација стабла уређаја, и то само ако УАРТ још није доступан у кернелу. У многим случајевима неће бити потребне никакве модификације. Међутим, проверите да ли тти инстанца коју желите да користите постоји! Проверите присуство тти командом љуске:

$ лс /дев/ттимкц*

Ако је ттимкц већ доступан, модификације нису потребне. Фор екampле, за УАРТ2 ово би било /дев/ттимкц1. Као што већ знамо, индекс тти је увек индекс физичког УАРТ-а минус 1. Ако захтевани тти није доступан, пратите уобичајену процедуру интеграције УАРТ-а.

Направи и тестирај

За безбедну обнову треба применити потпуно чишћење:

$ ./битбаке –ц цлеаналл у-боот-имк линук-имк имк-атф оптее-ос

Поново направите слику помоћу подразумеване команде за изградњу, нпрampле:

$ ./битбаке мсц-имаге-басе

У сврху тестирања, УАРТ адаптер треба да буде повезан на стари УАРТ. Не би требало више бити излаза на старом УАРТ-у! Нови УАРТ би требало да буде потпуно функционалан, за то проверите везу користећи у-боот УАРТ шкољку и линукс конзолу.

Подршка за производе

Авнет Ембеддед инжењери и техничари су посвећени пружању подршке нашим клијентима кад год је то потребно. Пре него што контактирате техничку подршку компаније Авнет Ембеддед, консултујте одговарајуће странице на нашој webсајт на
https://embedded.avnet.com/support/
за најновију документацију, драјвере и преузимање софтвера.

Ако информације које су тамо дате не реше ваш проблем, контактирајте наш тим за техничку подршку за уграђену Авнет на следећи начин:

Емаил: суппорт.боардс@авнет.еу
Телефон: +49 (0)8165 906-200

АВНЕТ ЕМБЕДДЕД Лого

Документи / Ресурси

АВНЕТ ЕМБЕДДЕД МСЦ СМ2С-ИМКС8М Дебуг УАРТ порт АРМ базирани рачунари на модулу [пдфУпутства
МСЦ СМ2С-ИМКС8М, МСЦ СМ2С-ИМКС8М Отклањање грешака УАРТ порт АРМ засновани рачунари на модулу, Отклањање грешака УАРТ порт АРМ засновани рачунари на модулу, УАРТ порт АРМ засновани рачунари на модулу, рачунари засновани на порт АРМ на модулу, АРМ рачунари засновани на модулу, рачунари засновани на АРМ на модулу, рачунари на модулу, модулу

Референце

Оставите коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена *