Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отладка устройства на TUSB3200
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
nikkov
Просвятите пожалуйста, чем можно отлаживать в железе устройство на контроллере 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

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

Т.к. я совсем не знаком с 51-м семейством, то мне не очень понятно, как зависит эмулятор от конкретного проца, кроме числа ног, конечно. Ну там объемы памяти, тоже более-менее ясно. А вот с периферией вообще темный лес, как ее должен поддерживать отладчик?!?
Палыч
Цитата(nikkov @ May 15 2009, 08:49) *
Т.к. я совсем не знаком с 51-м семейством, то мне не очень понятно, как зависит эмулятор от конкретного проца...
Как Вы правильно заметили есть целое семейство МК51. Есть классический МК51. Есть другие МК этого семейства, отличающиеся от "классики" объёмом памяти, и наличием дополнительных фенечек "на борту": таймеры, "внешняя" память, SPI, АЦП, ЦАП и др.

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

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


Все понятно, получается без эмулятора специально заточенного под конкретно этот контроллер полноценной отладки не получить. Остается только использовать вывод отладочной инфы через последовательный порт sad.gif
Палыч
Цитата(nikkov @ May 15 2009, 11:11) *
получается без эмулятора специально заточенного под конкретно этот контроллер полноценной отладки не получить.
Эмулятор даёт Вам полнейший контроль над МК во время отладки в железе, отлаживаться можно и без него. Какие средства для отладки применять зависит от того - какую информацию Вы хотите получить о состоянии МК.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.