Перейти к содержанию
    

k_george

Свой
  • Постов

    31
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о k_george

  • Звание
    Участник
    Участник
  • День рождения 07.02.1958

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

1 307 просмотров профиля
  1. После всего этого ИАР через Вигглер тоже заработал, правда МакРайгорские дрова кривые - они всегда такие были - пстоянно дёргать чере "Диспетчер устройств" приходится (остановить-запустить как альтернатива перезагрузке системы). У CW этого нет - всё работает надёжно. Так что же в сухом остатке? Почему стартап "чуть-чуть" не доделан? Борьба с пиратствующими юзерами? ev_tms470r1b1m.rar
  2. Проект у меня собссно CrossWork'овский - стартап там побольше + TMS470.c для перываний + clt0.c для управления библиотеками, а вместо самого стартапа (TMS470_Startup.s) я держу его копию system.s чтобы можно было править. Так вот добавка в ней после инита катры памяти и перед вызовом настройщика библиотек clt0.c.
  3. Проблема решена добавлением в старап след. кода: // 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.
  4. Если можно поподробнее пжалуйста, осбенно с того момента где и как оно работает (хорошо бы пример) - у меня это первый опыт с uM и С. Тупая замена LDR PC,IRQ_Addr на B IRQ_Addr дала чистого мертвяка - летает по всей памяти, а вот при LDR для вектора 0x0 с кнопки не запускается. Замена ~RST на ~PORRST в житаге не помогла: IAR перестала определять ID; H_JTAG как не видел так и не видит, а CW работает как работала. Похоже дело здесь не в железе а в конкретных дровах. Завтра попробую на 256-м - он дома.
  5. Плату я делал а ля TI и Olimex: ~TRST и ~RST на житаге присутствуют, хотя сигналов на какой-то одной(какой не помню) нет; AWD с джампером, но ведь же CW всё грузит, жжёт и отлаживает. А вот про PORST просил бы по подробнее - у меня на неё RESET от TPS'а заведён, а ещё её куда?
  6. Как я понянл - слабое звено здесь Wiggler -> TMS. Без МТлинка не жисть? или всё же как-то можно выкрутиться?
  7. А как оно вааще с иаром - у меня совсем плохо: даже с простыми examl'ами брешет на cable & power и при всём том чётко определяет id девайса(с 256-м процом такого нет). Пробовал менять распределение памяти(как CW) теже яйца... :cranky:
  8. Прерывания в tms470r1b1m

    Люди добрые, подскажите где засада ? Суть проблемы: CrossWorks -> Вигглер -> tms470r1b1m в бесконечных циклах работает без проблем: RAM, FLASH в долбаггере и со сброса. Как только разрешаю IRQ (таймер нужен), так пошли чудеса: под житагом всё нормалёк даже если и компилил без отладочной информации - шагает, запускается, останавливается, но после сброса (питание, кнопка) программа начинает перезапускаться по таймеру как по сбросу, хотя все вектора вроде живы (вывожу на экран). Было подозрение на WatchDog? но в SYSESR о нём ничего нет и вообще там только PORRST. Отсюда следующие вопросы: 1. В чём у сабжа разница запуска по житагу и по сбросу(про WatchDog знаю)? 2. Кто ещё может вызвать перезапуск (не в SYSESR)? 2. Может кто :santa2: поделится проетом с работающим таймером?
  9. Так есть ли результат ? Поделитесь - помгите новичку.
  10. Была как-то необходимость фронты ловить - делал так. Синтезиться в DFF+Latch то ли наоборот - точно уже не помню, но работает железно. Get_Edge.zip
  11. Уважаемые Господа !! Не подскажет ли кто решения для преобразования EtherNet в оптику и назад для достаточно длинных (10-ки км) линий. Поделитесь, plzz, опытом. Заранее благодарен.
  12. Чем кодируют не знаю, а вот раскодировать можно ихней же xlpp.exe. Вот пара bat-файлов, которые могут пригодиться.
  13. Хочу немного пояснить свою траблу. Задача следущая: извне поступает информация, прореживается, накапливается и передаётся в шину, причём хотелось бы передавать её по внешнему событию (условно - шпиндель переместился на 3мм, а это происходит раз в ~ 80 uS ;-). Что касаемо соотношения входного потока и слива результатов в шину, то это примерно 100 к 1, накапливаем 120-150 uS передаём 1-1.2 uS (PCI/66/32). Так вот мои программеры говроят:"Ты накопляй её полдня или хотя бы 10-100 mS, а потом мы заберём, а чаще ВИНДА не успевает и усё виснет", но буфер тоже не резиновый, хотя прерывать можно и на 8, 16 ... событие. Так вот мне хотелось бы знать кто мне тут мозги парит, и где компромис.
  14. Хочу задать Уважаемой публике пару вопросов. Вопрос №1 к ЯдроПисателям: Не встречал ли кто исходники хорошего TestBench'а для шины на VHDL? Типа как компилёные библиотеки в корке от PLDA. Вопрос №2 к ДровоПисателям: Как часто (mS, uS, ... pS ;-) можно прерывать шину под WinNT? Хотелось бы услышать что-нибудь из практического опыта.
×
×
  • Создать...