Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Кто работал с Ti Hercules?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
segment
Не очень большой выбор с Cortex-R. Интересует данный микроконтроллер из-за ARM Cortex R4 архитектуры. Кто с ним работал в серии?
mantech
Цитата(segment @ Feb 27 2017, 17:35) *
Не очень большой выбор с Cortex-R. Интересует данный микроконтроллер из-за ARM Cortex R4 архитектуры. Кто с ним работал в серии?


Сорри за оффтоп, почему именно R серия? В чем основные ее отличия(реальные, не маркетинговые)? Цены на них заметно выше, чем в М серии.
segment
Цитата(mantech @ Feb 27 2017, 23:23) *
Сорри за оффтоп, почему именно R серия? В чем основные ее отличия(реальные, не маркетинговые)? Цены на них заметно выше, чем в М серии.

Рассматриваю из-за High-Performance Microcontroller for Safety-Critical Applications
– Dual CPUs Running in Lockstep
– ECC on Flash and RAM Interfaces
– Built-In Self-Test (BIST) for CPU and On-chip
– Error Signaling Module With Error Pin
– Voltage and Clock Monitoring

Возможно есть более новые и доступные контроллеры с CPU Lockstep и ECC Flash/RAM, может кто подскажет.
Obam
Цитата(mantech @ Feb 28 2017, 00:23) *
Сорри за оффтоп, почему именно R серия? В чем основные ее отличия(реальные, не маркетинговые)? Цены на них заметно выше, чем в М серии.


Умеет ARM-инструкции помимо Thumb2, про ограничения последних умолчу…
mantech
Цитата(Obam @ Feb 28 2017, 11:20) *
Умеет ARM-инструкции помимо Thumb2, про ограничения последних умолчу…

В смысле, насколько я помню, 32бит ARM-инструкции умел даже АРМ7...
Obam
Цитата(mantech @ Feb 28 2017, 21:42) *
В смысле, насколько я помню, 32бит ARM-инструкции умел даже АРМ7...


ARM7 - это ARMv4 (с буковками TDMI wink.gif ) да? А мы в этом топике ведём речь об ARMv7, которые с буковкой -R. Так вот, те, что с -M, не умеют ARM-инструкции, только Thumb2: попробуйте в счётчик команд чётное число загрузить (младший бит - признак Thumb2-режима). А версии -R и -A архитектуры оба набора инструкций умеют sad.gif , но они не для нас-"пионэров".
mantech
Цитата(Obam @ Feb 28 2017, 21:25) *
А версии -R и -A архитектуры оба набора инструкций умеют sad.gif , но они не для нас-"пионэров".

Ясно, только не понял, в чем такая сложность с А серией, и второе, чем так не нравится тумба 2? Обходить недостатки архитектуры задача компилятора, если конечно не фанаты ассемблера biggrin.gif
ЗЫ CPU Lockstep и ECC Flash/RAM - не знаю, в чем фишка первой функции, что касается ЕСС - в радстойких устройствах есть полезные моменты..
Obam
Ну, системно -A просто сложнее (версия архитектуры для систем с виртуальной памятью), не дешевле и менее доступна (как, впрочем, и -R). Вспомните как выстрелили 7TDMI - относительная простота, доступность, цена.

тумба2 - нет никаких отрицательных эмоций, абсолютно безразлична, не я же её выдумывал, и без меня разрабатывали wink.gif

В меру, без фанатизма wink.gif

LDR Rнекий, =Адрес_таблицы_с_настройками
LDM Rнекий, {R0-R8}// ну предположим,что некая "периферия" имеет 8 конфигурационных регистров, а по младшему адресу таблицы - адрес самой "периферии"
STM R0, {R1-R8}// вуаля! "периферия" настроена\проинициализирована

ну ведь красиво, чёрт побери!

-R версия для реалтайма и для ответственных применений: два ядра (у геркулеса) один и тотже код исполняют? дублирование-резервирование?
segment
Цитата(Obam @ Feb 28 2017, 22:09) *
-R версия для реалтайма и для ответственных применений: два ядра (у геркулеса) один и тотже код исполняют? дублирование-резервирование?

Да, речь именно об этом. Есть довольно недорогие отладочные платы с младшими из серии контроллерами.
mantech
Цитата(Obam @ Feb 28 2017, 22:09) *
два ядра (у геркулеса) один и тотже код исполняют


Интересный подход. Если одно ядро выполнит код как-то не так, то оно остановится, перейдя в hard fault или его можно перезапустить без перезагрузки системы?
Obam
Цитата
Да, речь именно об этом. Есть довольно недорогие отладочные платы с младшими из серии контроллерами.

А я в '13 хотел RM48L952 "пощупать" и чё-то с доступностью фигня была…

Цитата(mantech @ Mar 1 2017, 00:45) *
Интересный подход. Если одно ядро выполнит код как-то не так, то оно остановится, перейдя в hard fault или его можно перезапустить без перезагрузки системы?


А вот чёрт его знает, в RefMan-е на v7R вообще такого термина нет, в даташите "Lockstep" всего 4 раза употреблено и без пояснения…
но
"6.5.3 Dual Core Implementation
The device has two Cortex-R4F cores, where the output signals of both CPUs are compared in the CCMR4
unit. To avoid common mode impacts the signals of the CPUs to be compared are delayed by two
clock cycles as shown in Figure 6-3.
The CPUs have a diverse CPU placement given by following requirements:
• different orientation; for example, CPU1 = "north" orientation, CPU2 = "flip west" orientation
• dedicated guard ring for each CPU

6.5.5 ARM Cortex-R4F CPU Compare Module (CCM-R4) for Safety
This device has two ARM Cortex-R4F CPU cores, where the output signals of both CPUs are compared in
the CCM-R4 unit. To avoid common mode impacts the signals of the CPUs to be compared are delayed in
a different way as shown in Figure 6-3.
Figure 6-3. Dual Core Implementation
To avoid an erroneous CCM-R4 compare error, the application software must initialize the registers of
both CPUs before the registers are used, including function calls where the register values are pushed
onto the stack"
MrAlex

Нажмите для просмотра прикрепленного файла


Ошибка сравнения вызывает прерывание.
mantech
Цитата(MrAlex @ Mar 1 2017, 13:23) *
Ошибка сравнения вызывает прерывание.


Вот это и интересно, вызывает прерывание куда? В смысле, в какое ядро, и как определяет эта схема сравнения, какое ядро сбилось? Похоже это просто какой-то навороченный ватчдог, но в результате нужно все-равно перегружаться...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.