06.04.2011, 19:43
|
|
Частый гость
Регистрация: 15.04.2009
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
За ссылки спасибо, там вроди даже представитель в Беларуси есть...
Сообщение от kison
|
В него нельзя не зайти. Это первое что запускается - загрузчик. А вовсе не пользовательская программа.
|
Ну если например ISP_BOOT или Reset при старте на ноль не повесить то можно и не зайти ![Улыбка](images/smilies/icon_smile.gif) в смысле пропустить момент захода а потому и FlashMagik ничего не увидит
Последний раз редактировалось realadmin666; 06.04.2011 в 20:04.
|
|
|
|
07.04.2011, 15:02
|
|
Временная регистрация
Регистрация: 16.05.2007
Сообщений: 59
Сказал спасибо: 1
Сказали Спасибо 10 раз(а) в 9 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
Сообщение от realadmin666
|
За ссылки спасибо, там вроди даже представитель в Беларуси есть...
Ну если например ISP_BOOT или Reset при старте на ноль не повесить то можно и не зайти в смысле пропустить момент захода а потому и FlashMagik ничего не увидит
|
Если вы не дадите FlashMagic'у послать сигнал Reset на камень, то он конечно не попадет в загрузчик, т.к. будет продолжать работать в пользовательской программе. Но при старте девайса, равно как и после ресета, он всегда попадает в загрузчик. Просто если не дергается ISP_BOOT, то он из загрузчика тут же выходит.
|
|
|
|
13.04.2011, 23:55
|
|
Частый гость
Регистрация: 15.07.2006
Сообщений: 26
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
Здраствуйте, можно узнать, у меня есть плата stm32f103vct + Nand flash K9F1G08U0C (256mb), как сделать,чтобы программа запускалась с nand? (и как её туда вогнать)
и ещё вопрос- есть ram микросхема 1Мх16 SDRAM K4s161622E,
в контроллере есть возможность старта с ram, но я не смог найти информацию, как её подключить, подскажите если знаете.
PS в качестве инструментов есть J-link 8, переходник usart-›usb, надеюсь, оживлю usbee.
"спасибо за наводки"
__________________
-
|
|
|
|
14.04.2011, 10:47
|
|
Прописка
Регистрация: 14.09.2009
Адрес: Екатеринбург
Сообщений: 116
Сказал спасибо: 14
Сказали Спасибо 31 раз(а) в 15 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
Сообщение от akzamit
|
Здраствуйте, можно узнать, у меня есть плата stm32f103vct + Nand flash K9F1G08U0C (256mb), как сделать,чтобы программа запускалась с nand? (и как её туда вогнать)
и ещё вопрос- есть ram микросхема 1Мх16 SDRAM K4s161622E,
в контроллере есть возможность старта с ram, но я не смог найти информацию, как её подключить, подскажите если знаете.
PS в качестве инструментов есть J-link 8, переходник usart-›usb, надеюсь, оживлю usbee.
"спасибо за наводки"
|
В нанд мона запихать данные, но не саму программу. У stm32f103 нет внешней шины. Соответственно ни нанд ни сдрам не подключить по нормальному. Хотя мона через ногодрыгство
|
|
|
|
14.04.2011, 21:27
|
|
Частый гость
Регистрация: 15.04.2009
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
У меня возникла проблема с LPC2368. Написал небольшую порграмку которая при входе в main зажигает светодиод а потом запускает функцию которая переводит проц на main oscillator (у меня это внешний генератор на 16 Мгц) и конфигурирует PLL. Проц прошился, и при отладке зажег светодиод и зашел в эту функцию из которой уже не вышел. Проблему настройки проца на внешний генератор - это тема для другого разговора, а в данной теме я хочу обсудить следующее:
После всех вышеописанных манипуляций J-Link больше матерится на TargetID а замечательно его определяет, но не может прошить проц потому, что не может его сбросить. При этом программа зашитая в проц работает, это я определяю по тому что при подаче питания через небольшей промежуток времени зажигается светодиод и проц опять зависает. Самое интересное что проц после зажигания светодиода не реагирует даже на внешний Reset по 17-й ноге не говоря уже о всех остальный видах сброса которые перечислены в настройках J-Link и который я проверил на неработоспособность в данной стиуацие.
По причине не возможности сброса я немогу стереть проц и через UART.
При этом если держать Reset на земле при подаче питания то проц находится в состоянии сброса (хотя почему-то на ISP_BOOT при этом не реагирует) и сразу выполняет записанную в него программу, при этом кроме как пересбросом питания его никак не оживить.
Кто что думает по этому поводу?
|
|
|
|
14.04.2011, 21:44
|
|
Частый гость
Регистрация: 15.07.2006
Сообщений: 26
Сказал спасибо: 1
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
странно, а можно узнать, почему есть режимы бутлодыря ram? или там чтото другое подразумевается?
просмотрел много документов, но да, там не было типовой схемы подключения RAM...
__________________
-
Последний раз редактировалось akzamit; 14.04.2011 в 21:51.
|
|
|
|
15.04.2011, 11:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
Сообщение от realadmin666
|
По причине не возможности сброса я немогу стереть проц и через UART.
При этом если держать Reset на земле при подаче питания то проц находится в состоянии сброса (хотя почему-то на ISP_BOOT при этом не реагирует) и сразу выполняет записанную в него программу, при этом кроме как пересбросом питания его никак не оживить.
Кто что думает по этому поводу?
|
А Вы с CRP не игрались случайно? Просто процессор ведет себя так, как будто там защита включена. Почитайте раздел 29.6 UM
|
|
|
|
15.04.2011, 19:01
|
|
Частый гость
Регистрация: 15.04.2009
Сообщений: 27
Сказал спасибо: 7
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
Сообщение от kison
|
А Вы с CRP не игрались случайно? Просто процессор ведет себя так, как будто там защита включена. Почитайте раздел 29.6 UM
|
Не не играл, зато поиграл "в ручную" с Reset-ом и ISP_BOOT-ом и в итоге смог его стереть даже через jtag. Блин, сам же писал про это выше в посте и сам же на эти грабли наступил.
А повис он у меня так из-за того что я конфигурировал PLL.
По сему хочу задать следующий вопрос.
Имеется функция которая подрубает проц к внешнему генератору на 16МГц:
Код:
|
int InitOsc()
{
//1.Disconnect the PLL with one feed sequence if PLL is already connected.
PLLDISCONNECT();
FEEDPLL(); //Write the feed sequence
//2.Disable the PLL with one feed sequence.
PLLDIS();
FEEDPLL(); //Write the feed sequence
//3.Change the CPU Clock Divider setting to speed up operation without the PLL, if
//desired.
OSCRANGE_1_20(); //The frequency range of the main oscillator is 1MHz to 20MHz.
OSCEN(); //The main oscillator is enabled
while (OSCSTAT) //Wait for it to settle
{
//TODO: check timeout
}
//4.Write to the Clock Source Selection Control register to change the clock source.
CLKSRCSEL = CLKSRCSEL_MAINOSC;
//5.Write to the PLLCFG and make it effective with one feed sequence. The PLLCFG can
//only be updated when the PLL is disabled.
PLLCFG = 0x00000008; //Set the PLL M and N constants
// Set the PLL M and N constants for Fcc=288 MHz Fin=16MHz
FEEDPLL(); //Write the feed sequence
//6.Enable the PLL with one feed sequence.
PLLEN();
FEEDPLL(); //Write the feed sequence
//7.Change the CPU Clock Divider setting for the operation with the PLL. It's critical to do
//this before connecting the PLL.
CCLKCFG = 0x00000001;
//8.Wait for the PLL to achieve lock by monitoring the PLOCK bit in the PLLSTAT register
while (!(PLLSTAT & 0x04000000)) //Wait for it to settle
{
//TODO: check timeout
}
//9.Connect the PLL with one feed sequence.
PLLCONNECT();
FEEDPLL(); //Write the feed sequence
return 0;
} |
судя по отладчику проц все конфигуряет а зависает на строчке
Код:
|
//9.Connect the PLL with one feed sequence.
PLLCONNECT(); |
в которой
Код:
|
#define PLLCONNECT() PLLCON |= 0x02 |
Подскажите что я делаю не так?
|
|
|
|
16.04.2011, 16:41
|
|
Прописка
Регистрация: 14.09.2009
Адрес: Екатеринбург
Сообщений: 116
Сказал спасибо: 14
Сказали Спасибо 31 раз(а) в 15 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
Сообщение от akzamit
|
странно, а можно узнать, почему есть режимы бутлодыря ram? или там чтото другое подразумевается?
просмотрел много документов, но да, там не было типовой схемы подключения RAM...
|
В этом камне только внутреняя рам. Если хотите цеплятьь внешнюю память смотрите камни с шиной EBI.
|
|
|
|
22.04.2011, 10:32
|
|
Вид на жительство
Регистрация: 05.07.2006
Адрес: Tashkent
Сообщений: 454
Сказал спасибо: 24
Сказали Спасибо 67 раз(а) в 44 сообщении(ях)
|
Re: Здравствуй, ARM. Запуск "на коленке"
Есть один вопросик на STM32. К примеру инструкция:
STMDB R1!, {R3-R6, R11, R12}
Безусловно сохраняет регистры по адресу R1 с автодекрементом адреса. Так вот, меня смущает следующее. Вроде как ARM - процик с одноцикловым выполнением инструкций. Означает ли это, что за один системный такт он сможет распихать все регистры по SRAM, или его шина не резиновая и инструкция затянется на 8 тактов?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:28.
|
|