|
Отладка устройства на TUSB3200, Научите темного |
|
|
|
May 14 2009, 10:05
|
Местный
  
Группа: Свой
Сообщений: 217
Регистрация: 1-02-05
Пользователь №: 2 332

|
Просвятите пожалуйста, чем можно отлаживать в железе устройство на контроллере TUSB3200. Я работал только с АРМ-ами и АВР-ами, а вот с 51-м семейством не довелось. Производитель упоминает: 8051/8052 Emulators http://www.nohau.com EMUL51-PC/E128–16 and POD–C32–HF–42 http://www.signum.com USP–51E and POD51FX http://www.phyton.com PICE–51 and P051–RX/FA and A051–D40 но это все слишком дорого, нет ли чего нибудь проще?
|
|
|
|
|
 |
Ответов
|
May 15 2009, 05:49
|
Местный
  
Группа: Свой
Сообщений: 217
Регистрация: 1-02-05
Пользователь №: 2 332

|
Цитата(Палыч @ May 14 2009, 19:50)  Если это - слишком дорого, то путь, наверное, один - сделать самому. Я сам когда-то сделал подобное для МК51 фирмы Atmel/Temic. Чтобы много не заниматься разработкой ПО той части, что на персоналке - можно воспользоваться возможностями Keil uVision - Advanced Generic Debugger Interface (AGDI). По AGDI см. Application Note 145 от Keil. Т.к. я совсем не знаком с 51-м семейством, то мне не очень понятно, как зависит эмулятор от конкретного проца, кроме числа ног, конечно. Ну там объемы памяти, тоже более-менее ясно. А вот с периферией вообще темный лес, как ее должен поддерживать отладчик?!?
|
|
|
|
|
May 15 2009, 07:33
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(nikkov @ May 15 2009, 08:49)  Т.к. я совсем не знаком с 51-м семейством, то мне не очень понятно, как зависит эмулятор от конкретного проца... Как Вы правильно заметили есть целое семейство МК51. Есть классический МК51. Есть другие МК этого семейства, отличающиеся от "классики" объёмом памяти, и наличием дополнительных фенечек "на борту": таймеры, "внешняя" память, SPI, АЦП, ЦАП и др. Вам нужно отлаживать МК в устройстве. Для этого Вам в определённые моменты времени нужно многое что знать о "внутренностях" МК: какая команда выполняется, значение (содержимое) аккумулятора, слова состояния, регистров общего назначения, регистров специальных функций и др. При необходимости - что-то потребуется изменить (поменять значение)... Всё это можно сделать программными средствами - программные средства потребуются как для МК, так и для персоналки, откуда Вы будете следить за Вашим МК. Обычно с персоналкой проблем - нет. А, вот, с МК - проблемы: ресурсы МК ограничены, а кроме Вашей программы в МК должен работать ещё и отладчик. Как вариант: можно для целей отладки использовать не тот МК, который будет работать в устройстве, а более "старшей" модели, которая включает в себя всё, что есть в Вашем МК плюс ещё дополнительные ресурсы для работы отладчика. Если это Вам подходит - так и сделайте. Но, отличие отладчика от эмулятора в том, что при работе отладчика всё равно будут "отъедаться" ресурсы МК, чего нет при использовании эмулятора (например, при работе отладчика будут продолжать работать таймеры и между тиками таймеров успеет выполниться меньше команд отлаживаемой программы; работа отладчика потребует дополнительного места в стеке и памяти в ОЗУ). Для частичного решения этой проблемы можно до предедела минимизировать отладчик в МК, но чтобы не потерялся его функционал соединить МК с другим МК в который перенести часть отладчика. Кроме этого на второй МК можно возложить те функции, которых нет у отладчика по сравнению с эмулятором (например, автоматическое добавление кода отладчика к Вашей программе, сброс МК, изменение памяти программ и др.). Поскольку в плате не предусмотрено место для второго МК, то можно изготовить устройство (маленькую плату) содержашее оба этих МК и вставляемое в разъём для установки МК на плате. Собственно такое устройство я когда-то и делал...
|
|
|
|
|
May 15 2009, 08:11
|
Местный
  
Группа: Свой
Сообщений: 217
Регистрация: 1-02-05
Пользователь №: 2 332

|
Цитата(Палыч @ May 15 2009, 14:33)  Как Вы правильно заметили есть целое семейство МК51. Есть классический МК51. Есть другие МК этого семейства, отличающиеся от "классики" объёмом памяти, и наличием дополнительных фенечек "на борту": таймеры, "внешняя" память, SPI, АЦП, ЦАП и др.
Вам нужно отлаживать МК в устройстве. Для этого Вам в определённые моменты времени нужно многое что знать о "внутренностях" МК: какая команда выполняется, значение (содержимое) аккумулятора, слова состояния, регистров общего назначения, регистров специальных функций и др. При необходимости - что-то потребуется изменить (поменять значение)... Всё это можно сделать программными средствами - программные средства потребуются как для МК, так и для персоналки, откуда Вы будете следить за Вашим МК. Обычно с персоналкой проблем - нет. А, вот, с МК - проблемы: ресурсы МК ограничены, а кроме Вашей программы в МК должен работать ещё и отладчик. Как вариант: можно для целей отладки использовать не тот МК, который будет работать в устройстве, а более "старшей" модели, которая включает в себя всё, что есть в Вашем МК плюс ещё дополнительные ресурсы для работы отладчика. Если это Вам подходит - так и сделайте. Но, отличие отладчика от эмулятора в том, что при работе отладчика всё равно будут "отъедаться" ресурсы МК, чего нет при использовании эмулятора (например, при работе отладчика будут продолжать работать таймеры и между тиками таймеров успеет выполниться меньше команд отлаживаемой программы; работа отладчика потребует дополнительного места в стеке и памяти в ОЗУ). Для частичного решения этой проблемы можно до предедела минимизировать отладчик в МК, но чтобы не потерялся его функционал соединить МК с другим МК в который перенести часть отладчика. Кроме этого на второй МК можно возложить те функции, которых нет у отладчика по сравнению с эмулятором (например, автоматическое добавление кода отладчика к Вашей программе, сброс МК, изменение памяти программ и др.). Поскольку в плате не предусмотрено место для второго МК, то можно изготовить устройство (маленькую плату) содержашее оба этих МК и вставляемое в разъём для установки МК на плате. Собственно такое устройство я когда-то и делал... Все понятно, получается без эмулятора специально заточенного под конкретно этот контроллер полноценной отладки не получить. Остается только использовать вывод отладочной инфы через последовательный порт
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|