k_george 0 16 ноября, 2007 Опубликовано 16 ноября, 2007 · Жалоба Люди добрые, подскажите где засада ? Суть проблемы: CrossWorks -> Вигглер -> tms470r1b1m в бесконечных циклах работает без проблем: RAM, FLASH в долбаггере и со сброса. Как только разрешаю IRQ (таймер нужен), так пошли чудеса: под житагом всё нормалёк даже если и компилил без отладочной информации - шагает, запускается, останавливается, но после сброса (питание, кнопка) программа начинает перезапускаться по таймеру как по сбросу, хотя все вектора вроде живы (вывожу на экран). Было подозрение на WatchDog? но в SYSESR о нём ничего нет и вообще там только PORRST. Отсюда следующие вопросы: 1. В чём у сабжа разница запуска по житагу и по сбросу(про WatchDog знаю)? 2. Кто ещё может вызвать перезапуск (не в SYSESR)? 2. Может кто :santa2: поделится проетом с работающим таймером? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 17 ноября, 2007 Опубликовано 17 ноября, 2007 · Жалоба вобщем была похожая фигня.. методом научного тыка убрал заменой команд LDR на B в cstartup (переходы на обработчики исключений), это было под 4-м иаром. при переходе на 5-й опять наступил на эти грабли, но линкер не переваривает перестановки LDR на B.. придется копать глубже.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k_george 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба А как оно вааще с иаром - у меня совсем плохо: даже с простыми examl'ами брешет на cable & power и при всём том чётко определяет id девайса(с 256-м процом такого нет). Пробовал менять распределение памяти(как CW) теже яйца... :cranky: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба иар+мт-линк+тмс 470 b1m,a288,a384 полет нормальный. но бывают затыки, которые удается все-таки обойти. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k_george 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба Как я понянл - слабое звено здесь Wiggler -> TMS. Без МТлинка не жисть? или всё же как-то можно выкрутиться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба cable & power - это имхо косяк виглера или платы с тмс-ом.. с мтлинком у меня такого нет.. как у вас там с ножками тмс-а TRST, RST и PORRST? как подключены? PORRST и TRST идут на житаг, при инициализации по ним должны быть импульсы, у меня косяки были похожие, когда PORRST отвалилась.. З.Ы. еще ногу AWD резистором в землю нужно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k_george 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба Плату я делал а ля TI и Olimex: ~TRST и ~RST на житаге присутствуют, хотя сигналов на какой-то одной(какой не помню) нет; AWD с джампером, но ведь же CW всё грузит, жжёт и отлаживает. А вот про PORST просил бы по подробнее - у меня на неё RESET от TPS'а заведён, а ещё её куда? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба у меня RST просто к VCC притянут, а с супервизора и rst житага на PORRST идет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба чудеса мля... из флеши начинает работать ТОЛЬКО при использовании с нулевого адреса команды B.. LDR ему не катит.. с прерыванием та же фигня.. LDR PC,IRQ_Addr ему не нравится, а вот B IRQ_Addr работает!!! похоже этот проц до инициализации карты памяти НЕ МОЖЕТ выполнить команду, в которой используется адрес вне поля команды.. =(( афигеть.. а житаг в нем карту памяти инитит, других вариантов у меня нет.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k_george 0 20 ноября, 2007 Опубликовано 20 ноября, 2007 · Жалоба Если можно поподробнее пжалуйста, осбенно с того момента где и как оно работает (хорошо бы пример) - у меня это первый опыт с uM и С. Тупая замена LDR PC,IRQ_Addr на B IRQ_Addr дала чистого мертвяка - летает по всей памяти, а вот при LDR для вектора 0x0 с кнопки не запускается. Замена ~RST на ~PORRST в житаге не помогла: IAR перестала определять ID; H_JTAG как не видел так и не видит, а CW работает как работала. Похоже дело здесь не в железе а в конкретных дровах. Завтра попробую на 256-м - он дома. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 20 ноября, 2007 Опубликовано 20 ноября, 2007 · Жалоба вот этот пример работает из флеши, прерывания есть, переделан cstartup FlashingLight.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k_george 0 20 ноября, 2007 Опубликовано 20 ноября, 2007 · Жалоба Проблема решена добавлением в старап след. кода: // Read the MSM keys ldr r1, =0x1000FFE0 ldr r0, [r1, #0x00] ldr r0, [r1, #0x04] ldr r0, [r1, #0x08] ldr r0, [r1, #0x0C] найдено методом комментирования инструкций в JTAG-скрипте: /****************************************************************************** Target Script for TMS470R1B1M. Copyright © 2006 Rowley Associates Limited. This file may be distributed under the terms of the License Agreement provided with this software. THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ******************************************************************************/ function Reset() { TargetInterface.stopAndReset(1); // Disable reset on address access violation TargetInterface.pokeWord(0xFFFFFFE0, 0x00004007); // SYSECR // Map internal SRAM (bank 2) to 0x10300000 TargetInterface.pokeWord(0xFFFFFE10, 0x00001030); // MFBAHR2 TargetInterface.pokeWord(0xFFFFFE14, 0x00000080); // MFBALR2 // Duplicate internal SRAM (bank 3) at 0x00000000 TargetInterface.pokeWord(0xFFFFFE18, 0x00000000); // MFBAHR3 TargetInterface.pokeWord(0xFFFFFE1C, 0x00000080); // MFBALR3 // Configure HET RAM static memory controller (32-bit, 7 wait states) TargetInterface.pokeWord(0xFFFFFD04, 0x00000072); // SMCR1 // Map HET RAM (bank 4) to 0x10800000 TargetInterface.pokeWord(0xFFFFFE20, 0x00001080); // MFBAHR4 TargetInterface.pokeWord(0xFFFFFE24, 0x00000020); // MFBALR4 /* Enable write buffer and write trailing wait state override */ TargetInterface.pokeWord(0xFFFFFD2C, 0x00000003); // WCR0 // Disable FLASH (bank 1) TargetInterface.pokeWord(0xFFFFFE08, 0x00000000); // MFBAHR1 TargetInterface.pokeWord(0xFFFFFE0C, 0x00000000); // MFBALR1 // Map internal FLASH (bank 0) to 0x10000000 TargetInterface.pokeWord(0xFFFFFE00, 0x00001000); // MFBAHR0 TargetInterface.pokeWord(0xFFFFFE04, 0x000001c2); // MFBALR0 // Read the MSM keys // TargetInterface.peekWord(0x1000FFE0); // TargetInterface.peekWord(0x1000FFE4); // TargetInterface.peekWord(0x1000FFE8); // TargetInterface.peekWord(0x1000FFEc); } function RAMReset() { Reset(); } function FLASHReset() { Reset(); } Онако гемора с IAR -> Wiggjer -> 1B1M это не решило. :01: Что ж будем воевать в CrossWorks. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 20 ноября, 2007 Опубликовано 20 ноября, 2007 · Жалоба с добавлением куда именно? я вставил после метки ctartup - не помогло.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k_george 0 20 ноября, 2007 Опубликовано 20 ноября, 2007 · Жалоба Проект у меня собссно CrossWork'овский - стартап там побольше + TMS470.c для перываний + clt0.c для управления библиотеками, а вместо самого стартапа (TMS470_Startup.s) я держу его копию system.s чтобы можно было править. Так вот добавка в ней после инита катры памяти и перед вызовом настройщика библиотек clt0.c. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IV_K 0 20 ноября, 2007 Опубликовано 20 ноября, 2007 · Жалоба в иаре у меня есть чтение MSM, как раз после настройки карты памяти, но в сишном файле в __low_level_init() попробую я перенести это все в асмовый стартап.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться