реклама на сайте
подробности

 
 
> Отладка и прошивка кода SmartRF04EB (CC1101) в KEIL., Не запускается но отлаживается прошитый пример кода под C8051F320.
Цырен
сообщение Dec 9 2008, 16:26
Сообщение #1


Частый гость
**

Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714



Всем доброго дня суток. Помогите кто сможет. Сам вопрос в конце, а для начала поясню предысторию, чтобы показать всю картину целиком.

Поставил я себе задачу изучить Chipcon-овский трансивер CC1101. Для этого я взял отладку "CC1101 Development Kit 433MHz" (далее - отладка). Поигрался со SmartRF Studio все понравилось.

Потом решил изучить примеры кодов под эту отладку, а точнее под МК Silabs C8051F320 (скачал с сайта Texas-а, вот код: Прикрепленный файл  swrc021e.zip ( 737.21 килобайт ) Кол-во скачиваний: 401
).
В качестве программатора использую Silabs ToolStick с платкой Tool Debug. Установил для нее драйвера с сайта производителя или с efo.ru - не помню.

Начал с Кеиловского проекта "link_bootloader".
Для этого предварительно установил KEIL V3.55, вылечил и установил SiC8051F_uv3, чтобы KEIL поддерживал отладку и прошивку через ToolStick. Подробнее о KEILe (может будет полезно):

IDE-Version:
µVision3 V3.55c
Toolchain: PK51 Prof. Developers Kit Version: 8.10
Toolchain Path: C:\Keil\C51\BIN\
C Compiler: C51.Exe V8.10
Assembler: AX51.Exe V3.03c
Linker/Locator: LX51.Exe V4.21
Librarian: LIBX51.Exe V4.24
Hex Converter: OHX51.Exe V1.36b
CPU DLL: S8051.DLL V3.16
Dialog DLL: DCYG.DLL V2.50
Target DLL: BIN\SiC8051F.dll V2.8.2.0
Dialog DLL: TCYG.DLL V2.47

Компильнул профиль проекта link_433_CC1100_bootloader, предварительно установив "Silabs C8051Fxxx Driver" во вкладках Debug(Settings->USB Debug Adapter 1.6.0.0) и Utilities как таргет для дебага и прошивки. А все остальное оставил как было. Ну и указалал во вкладке C51 пути к файлам(..\..\..\..\..\INC\CHIPCON\srf04;..\..\..\..\..\LIB\Chipcon\srf04\bootloader_reservation;..\..\..\..\..\LIB\Chipcon\srf04\Cul\CCxx00;..\..\..\..\..\LIB\Chipcon\srf04\Eb\CCxx00;..\..\..\..\..\LIB\Chipcon\srf04\Hal\CCxx00;..\..\..\..\..\LIB\Chipcon\srf04).

При компилляции выходит сообщение об удачном исходе:
Build target 'link_433_CC1100_bootloader'
compiling Link.c...
compiling bootloader_reservations.c...
assembling STARTUP.A51...
compiling RegSettings_Link.c...
assembling app_descriptor.a51...
linking...
Program Size: data=122.0 xdata=96 const=36 code=5308
creating hex file from ".\objects\link_433_CC1100_bootloader"...
".\objects\link_433_CC1100_bootloader" - 0 Error(s), 0 Warning(s).

Все хорошо.

Жму кнопку "дебаг". Появляется вопрос, мол, точно хотите затереть камень -> yes. Затер и даже сообщил об этом (нафига?...). Далее шьет и даже виден процесс прошивки в выскочившем окне...

Но появляется неприятное предупреждение:
Прикрепленное изображение

"Note: USB address and data registers will not be valid until USB clock is running."

Конечно я жму Ок.

Первое что меня смутило, так это то, что в под надписью "pBootLoader" (см. рис) ничего нет, по идее там наверное должен быть код бутлоадера, чтобы можно было шить камень через USB. Но там ничего нет.

Ладно игнорирую и вывожу курсор на код в main() и далее вроде все нормально.

Но программа не работает когда в отладке ее просто запускаешь(на ЖК дисплее должен быть текст) или когда ее просто прошиваешь, нажав на кнопку Load. Даже есть отключить программатор от отладки и передернуть питание.

Вопрос: что я делаю не так?
Может нужно как-то еще настроить проект,
переписать StartUp,
установить др. драйвер или есть какая-то хитрость c ресетом,
А може дело в этом сообщениии о USB clock ... незнаю что думать вообщем.

То что дело в настройке компиляции, - это 80%. Потому что когда я шью Silabs-овской утилитой "FLASH Programming Utility" хекс-файл из примера, которой я не трогал, тогда отладка запусакется. А когда я шью той же утилитой мной сгенерированный хекс - опять молчание.

Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Цырен
сообщение Dec 10 2008, 12:36
Сообщение #2


Частый гость
**

Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714



Отбой.
Вообщем получилось скомпильнуть и отлаживать примеры кода без бутлоадера. Сам не знаю почему, но когда я заново скачал примеры кода, настроил degug и utilities и скомпильнул, то отладка задышала.
wacko.gif
Go to the top of the page
 
+Quote Post
coooler
сообщение Dec 10 2008, 13:13
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 10-12-08
Пользователь №: 42 348



link.c строка 80:

#ifdef STAND_ALONE
// Select the Internal Oscillator as Multiplier input source and disable the watchdog timer
// SYSCLK = 4X Clock Multiplier / 2
CLOCK_INIT();
#endif


STAND_ALONE в проекте с бутлоадером нигде не объявлен и следовательно CLOCK_INIT() не выполняется... а в этом макросе - CLOCK_INIT() - настраивается тактирование камня и отключается watchdog. т.к. вачдог по умолчанию включен и его никто не обновляет - вачдог перегружает камень каждые ~2мс.

думаю, если убрать строку #ifdef STAND_ALONE (и завершающий #endif) все будет работать.
платы нет, поэтому сам не испытывал. и немного неясен остался этот бутлоадер...

З.Ы. в проекте без бутлоадера STAND_ALONE объявлен в настройках проекта...
Go to the top of the page
 
+Quote Post
Цырен
сообщение Dec 10 2008, 13:53
Сообщение #4


Частый гость
**

Группа: Validating
Сообщений: 184
Регистрация: 26-06-07
Из: Санкт-Петербург
Пользователь №: 28 714



ааа. Точно! Блииин. Позор. Надо посмотреть как будет работать без #ifdef STAND_ALONE #endif. Спс.

Сообщение отредактировал Цырен - Dec 10 2008, 13:54
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 17:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016