|
В чём особенность программирования MK по JTAG? |
|
|
|
Dec 6 2017, 07:23
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 25-08-05
Пользователь №: 7 944

|
Отлаживаю однотипные модули на базе 1986ВЕ1Т (Миландр). В устройстве имеется FLASH 1636РР2АУ (тоже Миландр). Модуль должен перепрограммироваться по шине CAN. Процесс идёт так: новая прошивка записывается в 1636РР2АУ, проверяется контрольная сумма, после чего контроллер копирует её из 1636РР2АУ во внутреннюю FLASH, перезагружается командой NVIC_SystemReset() и далее работает. Проблемы возникли с одним из 5 модулей: после перепрошивки по CAN он намертво зависает, хотя если прошивать его через программатор по JTAG, то работает нормально. Пробовал проводить перепрошивку под отладчиком: новая программа записывается во FLASH контроллера без дефектов, происходит перезагрузка, программа запускается, но после выполнения нескольких операций уходит в HardFault. Вопрос: в чём особенность программирования по JTAG по сравнению с перепрошивкой контроллером? В чём может быть причина такого сбоя ?
Сообщение отредактировал NikP - Dec 6 2017, 07:36
|
|
|
|
|
 |
Ответов
|
Dec 8 2017, 21:36
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(VladislavS @ Dec 8 2017, 21:32)  Пробовал и опять чисто практически. И...? Цитата(Сергей Борщ @ Dec 8 2017, 22:13)  Если у вас это не так - расскажите мужикам. А то у нас стирание 64К секунд 5 занимает, а запись без загрузчика почти минуту. "У нас" это где? Вот у меня IAR, прошиваю МК, без галки использовать лоадер(!), только "verify download". Весь процесс длится время примерно равное времени стирания - т.е. секунд 5. Вот другой МК (STM32F4). Опять IAR. Опять нет галки. Время - примерно пара секунд. ЧЯДНТ?? Как вам удалось добиться такого медленного программирования? Расскажите мужикам!  Код Fri Dec 08, 2017 23:40:28: Initial reset was performed Fri Dec 08, 2017 23:40:37: J-Link: Flash download: Flash programming performed for 3 ranges (262144 bytes) Fri Dec 08, 2017 23:40:37: J-Link: Flash download: Total time needed: 6.846s (Prepare: 0.048s, Compare: 0.013s, Erase: 4.612s, Program: 2.152s, Verify: 0.007s, Restore: 0.011s) Fri Dec 08, 2017 23:40:37: 233472 bytes downloaded and verified (26.63 Kbytes/sec) Fri Dec 08, 2017 23:40:37: Loaded debugee: d:\WORK\FM-STM\FIRMWARE\FLASH_RELEASE.OUT\EXE\fm.out
|
|
|
|
|
Dec 9 2017, 21:38
|
Знающий
   
Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088

|
Цитата(jcxz @ Dec 9 2017, 00:36)  Вот у меня IAR, прошиваю МК, без галки использовать лоадер(!), только "verify download". Весь процесс длится время примерно равное времени стирания - т.е. секунд 5. Вот другой МК (STM32F4). Опять IAR. Опять нет галки. Время - примерно пара секунд. ЧЯДНТ?? Как вам удалось добиться такого медленного программирования? Расскажите мужикам!  Надо полагать, что если адаптер JTAG "родной" для данного вида МК (что означает, что прошивка адаптера знает систему команд Boundary Scan для данного вида МК), то прошивка флэшки будет происходить быстро, как и предусмотрено производителем МК и адаптера JTAG. Если адаптер "левый", то прошивкой флэшки уже будет заниматься среда программирования, если у неё есть соответствующие скрипты - а это и будет в духе "запиши в регистр байт, почитай регистр статуса", что по USB и вправду довольно медленно. Неким "консенсусом" выглядит в этом ракурсе идея закинуть в SRAM кусок кода, который примет сразу блок прошивки и сам на борту запишет его во флэшь.
--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
|
|
|
|
Сообщений в этой теме
NikP В чём особенность программирования MK по JTAG? Dec 6 2017, 07:23 x893 Почему нельзя посмотреть по шагам после перепрошив... Dec 6 2017, 07:47 Obam Если один блок из пяти "дурИт", мож там ... Dec 6 2017, 07:52 jcxz Цитата(NikP @ Dec 6 2017, 09:23) В чём мо... Dec 6 2017, 11:17 gerber Копайте в сторону flash wait states. Dec 6 2017, 20:23 HardEgor Цитата(NikP @ Dec 6 2017, 14:23) Вопрос: ... Dec 7 2017, 10:39 Genadi Zawidowski Цитатапо JTAG вы напрямую, минуя контроллер, залив... Dec 7 2017, 11:19 mantech Цитата(Genadi Zawidowski @ Dec 7 2017, 14... Dec 7 2017, 11:27  VladislavS Не ускорять, а унифицировать. Флэшек и способов их... Dec 7 2017, 15:43 NikP Всем спасибо за обсуждение.
С проблемой разобралс... Dec 8 2017, 07:22 jcxz Цитата(NikP @ Dec 8 2017, 09:22) С пробле... Dec 8 2017, 10:47  Сергей Борщ QUOTE (jcxz @ Dec 8 2017, 12:47) Унифицир... Dec 8 2017, 12:15   VladislavS Цитата(Сергей Борщ @ Dec 8 2017, 15:15) ... Dec 8 2017, 16:09   jcxz Цитата(Сергей Борщ @ Dec 8 2017, 14:15) Э... Dec 8 2017, 16:16    Сергей Борщ QUOTE (jcxz @ Dec 8 2017, 18:16) Программ... Dec 8 2017, 16:40     jcxz Цитата(Сергей Борщ @ Dec 8 2017, 18:40) К... Dec 8 2017, 17:26      VladislavS Цитата(jcxz @ Dec 8 2017, 20:26) Вобщем д... Dec 8 2017, 18:12       Obam Цитата(VladislavS @ Dec 8 2017, 22:12) Эт... Dec 8 2017, 18:46        VladislavS Цитата(Obam @ Dec 8 2017, 21:46) Тема про... Dec 8 2017, 19:13         Obam Цитата(VladislavS @ Dec 8 2017, 23:13) Та... Dec 9 2017, 07:43          VladislavS Цитата(Obam @ Dec 9 2017, 10:43) Более то... Dec 9 2017, 09:38          jcxz Цитата(Obam @ Dec 9 2017, 09:43) Вот вы в... Dec 9 2017, 15:46       jcxz Цитата(VladislavS @ Dec 8 2017, 20:12) Ва... Dec 8 2017, 19:18        VladislavS Цитата(jcxz @ Dec 8 2017, 22:18) А в чём ... Dec 8 2017, 19:21         jcxz Цитата(VladislavS @ Dec 8 2017, 21:21) Пр... Dec 8 2017, 19:29        Сергей Борщ QUOTE (jcxz @ Dec 8 2017, 21:18) длительн... Dec 8 2017, 20:13      Сергей Борщ QUOTE (jcxz @ Dec 8 2017, 19:26) А зачем ... Dec 8 2017, 18:56   Obam Цитата(Сергей Борщ @ Dec 8 2017, 16:15) Н... Dec 8 2017, 17:51 NikP Насчёт своего уровня как программиста и разработчи... Dec 8 2017, 17:18 Obam Да-да, не уж-то мне надо вспоминать, как они были ... Dec 9 2017, 13:31 VladislavS Не знаю что у вас там завертелось, но ARM без набо... Dec 9 2017, 15:20 Obam Ядро - это ядро (впишите любое на свой выбор), тут... Dec 9 2017, 19:48 jcxz Цитата(Obam @ Dec 9 2017, 21:48) Что зря?... Dec 10 2017, 02:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|