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

 
 
> Несколько вопросов по lpc176x
vallav
сообщение Apr 12 2010, 16:29
Сообщение #1


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



1. Почему у него такая странная распиновка выводов?
На 100 ногах нашли место только для 70 gpio, причем ни одного целого 32х битного регистра, всего один целый 16 битный а разбросаны
и перемешаны они - мама не горюй! Наследие тяжелого прошлого?
Как красиво с этим у ST32 - 5 16 битных регистров и почти все ножки в ряд.

2. 12 тактов входа в прерывание и 12 тактов выхода из него ( обязательных ) преподносится как достижение.
Вроде достижением было у ADSP 218x - полтора такта до первой команды в прерывании и 1 такт на выход.

3. Меня интересует, в lpc176x ПДП такое же тормозное....
Правда, по слухам, до кортексов у АРМа с этим было еще хуже.
Причина редактирования: Дублирование вопроса в разных темах
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Jun 2 2010, 00:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



vallav, вам объясняют про использование аппаратного SPI и программного управления сигналом CS. Ну не программируйте вы пин SSELx, соответствующий сигналу CS на альтернативную функцию от SPI! Оставьте его как пин, выполняющий функцию GPIO, программно сбрасывайте перед началом фрейма и устанавливайте по окончании передачи фрейма по SPI. SCKx, MISOx, MOSIx используйте аппаратные, SSELx аппаратный не используйте, ферштейн?
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 2 2010, 04:23
Сообщение #3


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(rezident @ Jun 2 2010, 04:34) *
vallav, вам объясняют про использование аппаратного SPI и программного управления сигналом CS. Ну не программируйте вы пин SSELx, соответствующий сигналу CS на альтернативную функцию от SPI! Оставьте его как пин, выполняющий функцию GPIO, программно сбрасывайте перед началом фрейма и устанавливайте по окончании передачи фрейма по SPI. SCKx, MISOx, MOSIx используйте аппаратные, SSELx аппаратный не используйте, ферштейн?


Да в курсе я - что именно мне объясняют.
Меня интеоесовало - аппаратно, на собственных пуговицах без программных помочей SPI штаны от lpc17xx на данном датчике
носятся?
Ответ, как я понял такой - нет, не носятся.
И только после этого следующий вопрос - а какие именно программные помочи нужны?
Мне же почему то на первый впрос отвечают мысленно, мысленно же слышат от меня второй вопрос и начинают сразу отвечать
на него.
Я второго вопроса не задавал!
Я на него ответ знаю. Вернее, почти знаю.
Так как в железе еще не проверял.

Но мне интересней другое - почему никому не интересен предложенный способ связи контроллера с компьютером по USB?
Такой вариант - ОЗУ контроллера как стандартный диск компьютера - когда в общую область ОЗУ контроллера компьютер пишет и читает
как в обычный диск а контроллер пишет и читает как обычное ОЗУ - чем то не удобна или давно реализована и широко используется?
Но тогда зачем повсеместно применяется это уродство - эмуляция UARTа?
Это примерно то же самое, что использование JTAGа для заливки во флешь - неудобно, но работает...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 2 2010, 07:04
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vallav @ Jun 2 2010, 06:23) *
Ответ, как я понял такой - нет, не носятся.

Ответ, как всегда, не воспринят. Третий раз уже sad.gif, да smile.gif именно SSP в LPC может.
Хотя стандарный вариант для любых SPI контроллеров это именно софтовая отметка фрейма. Сюрприз для ламеров!. Режим работы с фреймом произвольного размера очень очень распространен - любое более-менее сложное или быстрое Slave устройство на SPI или поддерживает, или прямо требует такой режим работы. В этом случае отмашка SSEL совершенно естественно отмечает начало фрейма произвольного размера. Аппаратная байтовая махалка, не более, чем полезный, но один из многих, режимов работы. Лично я в своих периферийных SPI устройствах предпочитаю использовать вариант, когда SSEL может быть снят в любой момент во время передачи полного фрейма, ибо за начало фрейма принимается переход SSEL в Lo. Если протокол не содержит размер фрейма, то тогда снятие SSEL разрешается производить и в любой момент передачи последнего байта.
Цитата
Но мне интересней другое - почему никому не интересен предложенный способ связи контроллера с компьютером по USB?

Утомили своей детской радостью дежурного "первооткрывателя". Ответ простой - потому, что он дебильный.
Цитата
Такой вариант - ОЗУ контроллера как....

Давайте, после того, как наконец-то нашли кнопку в IDE скомпилировать некий проект, заканчивайте писать кипятком от радости, даже не поднимая RAM диск попробуете пообщаться с компьютером через имеющийся Flash диск. Узнаете еще много интересного о том, как строятся файловые системы, оптимизация обращений и кэширования. Чем и насколько серьезно отличается поддержка системами, например, сетевых дисков от поддержки флешек-свистков.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 3 2010, 11:15
Сообщение #5


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Вы вроде собирались только мои ошибочные заявления отмечать?
Или все же поучить сильно тянет?

Похоже с реализацией USB RAM диска и общения через него придется самому заниматься.
Непопулярный это вариант оказался...
По каким то причинам туда и назад по UART считается более удобным, быстрым и надежным...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 3 2010, 12:49
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(vallav @ Jun 3 2010, 17:15) *
Похоже с реализацией USB RAM диска и общения через него придется самому заниматься.
Непопулярный это вариант оказался...
По каким то причинам туда и назад по UART считается более удобным, быстрым и надежным...
Вы видимо не очень хорошо знакомы со спецификацией USB и со спецификой работы ОС с USB-устройствами класса MassStorage.
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 3 2010, 13:42
Сообщение #7


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(rezident @ Jun 3 2010, 16:49) *
Вы видимо не очень хорошо знакомы со спецификацией USB и со спецификой работы ОС с USB-устройствами класса MassStorage.


Ага. Не очень хорошо знаком.
Вот поэтому и спрашиваю.
То. как работает код из аппноты - очень понравилось.
В чем Вы видите подводные камни, в случае, если в файлы будет отображаться не флешь а
ОЗУ контроллера?
Контроллер будет писать/читать в ОЗУ напрямую, комп писать/читать туда через файлы.
Преимущества - приличная скорость, простота подключения, отсутствие специальных драйверов.
Недостаток - израсходуется аж челых 8 килобайт флеши из имеющихся 512.
Других недостатков пока не вижу.
Хотя бы пару конкретных примеров реальных заморчек, если не трудно.
Ответы общего плана, типа - ты ламер, у тебя уши холодные, я супер а ты хто - не интересны...
Варианты - а если контроллер или комп не то и не туда запишут - тоже...

Кстати, не могли бы присвести для справки - сколько времени пишется и читается файл в 400 килобайт в флешь контроллера
через столь любимый здесь JTAG?
У меня получилось - читается около секунды, пишется около 5 секунд.

Сообщение отредактировал vallav - Jun 3 2010, 13:47
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 5 2010, 07:14
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vallav @ Jun 3 2010, 16:42) *
У меня получилось - читается около секунды, пишется около 5 секунд.

Сильно сомневаюсь, что в LPC1000 зачем-то сильно ускорили запись во Flash и скрыли сей факт, но для LPC2000 времена записи во Flash нормировались и в режиме посектороного, т.е. неполного стирания только записть во Flash дожна занимать ~20*400ms + 400000/256*1ms что уже много больше намерянных "5 секунд". Сначала научитесь корректно делать оценки, а потом уже спрашивайте как там с JTAG, который, кстати, тоже работает очень на разных, в том числе и мегабитных скоростях.


Цитата(vallav @ Jun 5 2010, 08:40) *
По частоте тактового генератора USB пока ответов нет, придется похоже самому проверять.

Хотите маяться дурью вместо соблюдений рассчетных требований спецификаций - майтесь.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 5 2010, 08:21
Сообщение #9


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(zltigo @ Jun 5 2010, 11:14) *
Сильно сомневаюсь, что в LPC1000 зачем-то сильно ускорили запись во Flash и скрыли сей факт, но для LPC2000 времена записи во Flash нормировались и в режиме посектороного, т.е. неполного стирания только записть во Flash дожна занимать ~20*400ms + 400000/256*1ms что уже много больше намерянных "5 секунд". Сначала научитесь корректно делать оценки, а потом уже спрашивайте как там с JTAG, который, кстати, тоже работает очень на разных, в том числе и мегабитных скоростях.

Дык просто все было.
В тотал-коммандере - стер исходный файл с USB-диска.
Нашел файл размером в 400 килобайт, выбрал копи на USB-диск, нажал - поехали - и засек, сколько времени ехали.
Получилось - 5 секунд.
Вы забыли привести цифры - сколько времени пишется и сколько стирается по JTAG.
Или просто не знаете?
А тогда вся эта Ваша философия "крутого перца с горячими ушами" - зачем?
Я знаю, что Вы - крутой перец, и что уши у Вас не холодные...



Цитата(zltigo @ Jun 5 2010, 11:14) *
Хотите маяться дурью вместо соблюдений рассчетных требований спецификаций - майтесь.


Так я же пояснил = зачем.
Если USB спокойно пашет при отклонении тактовой на +-10%, то в приборах, которые для себя - использовать IRC.
В приборах, которые для Вас - естественно все строго по спецификации...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 5 2010, 08:59
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vallav @ Jun 5 2010, 11:21) *
Вы забыли привести цифры - сколько времени пишется и сколько стирается по JTAG.
Или просто не знаете?

Нет, просто опять не дооценил степень Вашей некометентности sad.gif. Для тех, кто не способен к самостоятельному восприятию и анализу информации, сообщаю, что любой LPC загрузчик, в том числе и JTAG, использует открытый IAP интерфес штатного загрузчика для работы с Flash и в части записи-стирания все равны. Отличия имеют место быть в тактовой частоте контроллера, качестве самого загрузчика и размерах блоков которыми он оперирует, ну и только один из факторов, который при многомегабитных (12..25Mbit частоты интерфейсов JTAG/SWD у Cortex-ов ) скоростях передачи уже далеко не самый определяющий, это скорость интерфейса передачи этой самой информации загрузчику.
При 12Mhz тактовой данные по JTAG загружаются со скоростью 720Kbytes/s
Цитата(vallav @ Jun 5 2010, 11:21) *
В тотал-коммандере...

Вот я и говорю - учитесь сначала корректно делать оценки.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 5 2010, 11:29
Сообщение #11


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(zltigo @ Jun 5 2010, 12:59) *
При 12Mhz тактовой данные по JTAG загружаются со скоростью 720Kbytes/s

Вот я и говорю - учитесь сначала корректно делать оценки.


Да... просто привести - у меня 400 Кбайтный файл заливается в контроллер по JTAG xx секунд, читается из контроллера yy секунд -
жаба душит?

Сообщение отредактировал rezident - Jun 6 2010, 21:35
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 5 2010, 12:10
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vallav @ Jun 5 2010, 14:29) *
жаба душит?

Нет, просто характер не позволяет давать глупые ответы, даже на глупейше-пустейшие вопросы. Ну а нормальные развернутые ответы, Вы воспринимать хронически не способны. В общем мне так "общаться" окончательно надоело. Ответов больше не будет.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 5 2010, 12:21
Сообщение #13


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(zltigo @ Jun 5 2010, 16:10) *
Нет, просто характер не позволяет давать глупые ответы, даже на глупейше-пустейшие вопросы. Ну а нормальные развернутые ответы, Вы воспринимать хронически не способны. В общем мне так "общаться" окончательно надоело. Ответов больше не будет.


Понятно. Значит Вы - fabless, железа у Вас нет а все - только теоретически...
Бывает...
Неужели эту ветку не читает кто либо, у кого есть lpc1768 подключенная к JTAG_у?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 5 2010, 15:55
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(vallav @ Jun 5 2010, 18:21) *
Неужели эту ветку не читает кто либо, у кого есть lpc1768 подключенная к JTAG_у?
Ну у меня есть. На работе лежит starterkit-овская плата SK-MLPC1768 и MT-Link. Только после перечитывания ветки особого желания делать что-либо специально для вас я не испытываю. Вдруг полученные циферки не подойдут к вашим убеждениям и я же еще и виноват останусь laughing.gif ИМХО документации от производителя нужно можно чаще всего верить. А если вы не умеете ее читать и понимать, то нужно учится этому. "Терпение и труд все перетрут" wink.gif
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 6 2010, 05:45
Сообщение #15


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(rezident @ Jun 5 2010, 19:55) *
Ну у меня есть. На работе лежит starterkit-овская плата SK-MLPC1768 и MT-Link. Только после перечитывания ветки особого желания делать что-либо специально для вас я не испытываю. Вдруг полученные циферки не подойдут к вашим убеждениям и я же еще и виноват останусь laughing.gif ИМХО документации от производителя нужно можно чаще всего верить. А если вы не умеете ее читать и понимать, то нужно учится этому. "Терпение и труд все перетрут" wink.gif


То есть, если по описанию одно а в натуре другое, то сомневаться в правильности описания - не стоит?
Вот пробовал в симуляторе Кейла - по ресет CPU он ставит sp - значение первого слова из флеша, ip - значение второго слова из флеша.
Меняю значение sp на большее. Запускаю, в main приходит с sp, близким к значению из флеша.
Так где на самом деле инициализируется стек? Аппаратно при сбросе? Или все же кодом инициализации?
Я исходно верю описанию. Но когда в железе получается по другому, я начинаю верить железу.

Или вот эта ахинея с проверкой наличия пользовательской программы.
Генератор пользовательских программ - Кейл - на эту проверку откровенно забил.
А вот изготовители заливщиков этим озаботились и тупо меняют 8 слово флеша независимо от того, что во флеш заливается.
Я вначале в это просто не поверил, думал - разигрывают...
Получается, если я заливаю работающую прогу от Кейла но не правильным заливщиком - она проверку не пройдет и не запустится.
Если я заливаю любую хню, но правильным заливщиком, она проверку пройдет и запустится.
А если я в Кейле слинковал прогу так, что у меня в флеше всего 4 вектора в таблице ( что необходимо для запуска ) а вся таблица слинкована в ОЗУ,
заливщик прогу испортит ( так как в 8 слове флеша - код загрузки ) и прога запустится и повесится.
Полагаете это - нормально?

Или с тактовой USB.
Почему то UART, у которого установки фазы клока по синхроимпульсу ( старту ) должно хватать на 10 тактов - от IRC работает, точности хватает.
А USB, у которой синхроимпульсы максимум через 5 тактов и есть преамбула для настройки тактового генератора ( а не просто установка
фазы клока ) точности IRC не хватает... Все равно - должен верить описанию - USB с IRC - низзя.
Кстати, FTDI - можно а вот мне все равно - низзя...

С цифрами по скорости заливки/чтения флеши через JTAG.
Я на самом деле не знаю, какие они.
Я знаю только, что заливать 32 Килобайта настолько долго, что выгоднее перегнать прогу в ОЗУ и ставить точки остановки там, чем ставить
их перезаливкой проги в флешь. Или это делается из экономии - чтобы не использовать ненароком отведенный лимит в 100 000 заливок...
Если стыдно их приводить - то зачем эта вся философия по поводу температуры моих ушей?




Цитата(igorsk @ Jun 6 2010, 03:17) *
Плагин нужен только для декомпиляции кода в C. Для простого дизассемблирования достаточно самой иды.


Как то не хочется ставить 100 мегабайтную прогу только для того, чтобы она делала простое дизассемблирование кода.
Да и встречал в инете, что IDA старых версий не все Thumb-2 кода берет.
Но когда дизассемблер Кейла меня достанет, придется ставить IDA.

Кстати, можно ли сделать так, чтобы при запуске симулятора он не пытался добраться до main а останавливался на первом шаге.
Если он до main не добрался а вылетел по дороге ( ну проги у меня такие ) то он как то странно работает.
Ресетишь CPU, ставищь IP на начало кода инициализации - код выполняется а IP остается неизменным.
Пришлось ставить по дороге ловушку, покрутившись в которой симулятор выподает в меню. И вот тогда по коду ходит.
И с загрузкой своего бинарника в дизассемблер. Неужели низзя?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 6 2010, 08:33
Сообщение #16


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(vallav @ Jun 6 2010, 09:45) *
Я знаю только, что заливать 32 Килобайта настолько долго, что выгоднее перегнать прогу в ОЗУ и ставить точки остановки там, чем ставить
их перезаливкой проги в флешь.

32 килобайта заливаются за несколько секунд. Откуда бредни про "настолько долго"?

Цитата
Кстати, можно ли сделать так, чтобы при запуске симулятора он не пытался добраться до main а останавливался на первом шаге.

Загляните наконец в настройки проекта "Options for target..." и на вкладке Debug на стороне симулятора (левая половина) уберите галку с "Run to Main()".
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 6 2010, 12:12
Сообщение #17


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(sonycman @ Jun 6 2010, 12:33) *
32 килобайта заливаются за несколько секунд. Откуда бредни про "настолько долго"?


Дык я же объяснил.
Существует такая правктика - для отладки кусок проги переносить в ОЗУ.
Чтобы отладка шла быстрее. Вроде ограничение в скорости там одно - время перезаливки проги с новыми точками останова.
Или причина переноса отладки в ОЗУ - другая?
И почему сразу - бредни?
Может лучше использовать - заблуждения?

Цитата(sonycman @ Jun 6 2010, 12:33) *
Загляните наконец в настройки проекта "Options for target..." и на вкладке Debug на стороне симулятора (левая половина) уберите галку с "Run to Main()".


Спасибо.
А как по поводу заливки своего бинарника и внесение исправления в дизассемблируемый код?
inline asstmbly у меня все время серая.
И как отключить перескок полоски скроллинга на панели дизассемблера - больно хлопотно ставить адресс конкретный адресс когда шаг установки в 300 байт.



Контрольные вопросы для Принца Флоризеля, который, как известно, знал все заранее и любое решение находил
несколько ранее собеседников:
1. Сколько указателей стека у LPC176x (Cortex-M3)?

Два.

2. Какой из них инициализируется аппаратно?

Ни какой. Но один из них инициализируется в коде инициализации.
Щас гляну, как он называется - во - MSP.

3. Есть-ли какие либо ограничения на софтовую инициализацию указателей стека?

Ага. Его нелзя ставить на начало ОЗУ. И туда, где нет ОЗУ.
И выравнивать надо.

4. Какие действия выполняются в startup до запуска main()?

Ой, много. Толко вот попасть на код инициализации не всегда получается.
Вы про линкер уже прочли? Умеете модули линковать в ОЗУ?

5. Функция __main() в default startup KEIL это то-же самое, что и main()?

Не а. Это и есть начало кода инициализации.
В стартапе на нее только ссылка. Сама она от линкера.

6. Сколько записей в таблице векторов Cortex-M3 жестко отведено под нужды ядра?

Четыре первых. Реально используется два первых при запуске проги.

7. Какие утилиты входят в классический набор утилит binutils, каковы их аналоги в пакете от KEIL?

Без понятия.

8. Что умеет делать утилита fromelf из комплекта поставки KEIL?

Бинарник для заливки посторонними заливщиками.

Ну и вообще начинающим будет на мой взгляд небесполезно ответить для себы на вопросы в контексте последних постов.
Флоризель, само собой, все и так знает, ну а с другими форумчанами можно продолжить, если потребуются уточнения.

Надеюсь Вас не затруднит дать на свои вопросы правильные ответы?
Или как всегда - характер не позволяет давать глупые ответы, даже на глупейше-пустейшие вопросы...

Сообщение отредактировал rezident - Jun 6 2010, 21:33
Причина редактирования: Удалено дублировние текста.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 6 2010, 13:12
Сообщение #18


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(vallav @ Jun 6 2010, 16:12) *
2. Какой из них инициализируется аппаратно?

Ни какой. Но один из них инициализируется в коде инициализации.
Щас гляну, как он называется - во - MSP.

Почему до Вас никак не дойдёт, что один из указателей SP инициализируется аппаратно?
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 6 2010, 13:43
Сообщение #19


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(sonycman @ Jun 6 2010, 17:12) *
Почему до Вас никак не дойдёт, что один из указателей SP инициализируется аппаратно?


Так я разве спорю.
Конечно, core reads the start sp...

Только как?
Мое мнение, в NXP не идиоты делать это аппаратно, когда это можно с тем же успехом сделать программно в коде инициализации.
Что там и делается.
Полагаете - просто на всякий случай? Код инициализации игнорирует значение sp при входе в него и записывает в sp ( программно )
значение, равное __initial_sp.
Кстати, задумайтесь - после сброса начинает работать бутлоадер.
У него sp откуда берется? Аппаратно устанавливается на 0xffffffff, если чип не целованный?
А если прога уже загружалась, то на то, что в первом слове флеша. Так?
И что бутлоадер с этим делает? Выкидывает и ставит свое значение?
А перед запуском проги читает значение из первого слова флеша и заносит его в sp?
Иде в этом логика?
Кстати - кривой бангладорский при запуски проги про sp даже не вспоминает. Что у него было, то и оставляет.
Как с этим у родного бутлоадера - пока не знаю.
Не надо свято верить тому, что напечатоно. И в печатных текстах бывают ошибки и казусы...

Кстати надо попробовать. Засунуть в первое слово флеша что нибудь отличное от __initial_sp и посмотреть, с какмим
sp прога в main вывалится. Если со значением __initial_sp - что делать будем?

И про ip. Полагаете, после сброса он загружается значением из второго слова флеша и бутлоадер стартует с этого адреса?
Или бутлоадер умеет игнорировать значение ip и стартует со своего адреса?
Попробуйте над этим задуматься.

Сообщение отредактировал rezident - Jun 6 2010, 21:37
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 6 2010, 13:56
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



В связи с предыдущим постом продолжаю вопросник:
1. Как называется фирма-разработчик ядра Corteх-M3 используемого фирмой NXP в контроллерах LPC17xx?
2. Какой блок памяти отображается на адрес 0x00000000 в LPC17xx после аппаратного ресета?
3. Что находится в этом блоке памяти?
4. Может-ли в качестве вектора Reset указан адрес функции написанный на языке высокого уровня, например, 'C'?
5. Использует-ли функция написанная на языке 'C' стек и для чего?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 6 2010, 14:03
Сообщение #21


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(zltigo @ Jun 6 2010, 17:56) *
В связи с предыдущим постом продолжаю вопросник:


Я сейчас другим занят - жду от Вас правильных ответов на первый опросник.
Увы, пока их не будет...

Сообщение отредактировал rezident - Jun 6 2010, 21:38
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 6 2010, 14:07
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vallav @ Jun 6 2010, 17:03) *
Увы, пока их не будет...

"Студент"! Вы не поняли - семестр кончился - началась сессия. smile.gif. Но вопросы пока доброжелательно-наводящие, а не на засыпку.
Цитата
Я сейчас другим занят

Пока не страшно. Сдача и пересдача экзаменов до осени. Потом отчисление smile.gif sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 6 2010, 14:23
Сообщение #23


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(zltigo @ Jun 6 2010, 18:07) *
"Студент"! Вы не поняли - семестр кончился - началась сессия. smile.gif.

Пока не страшно. Сдача и пересдача экзаменов до осени. Потом отчисление.


Кстати, Вы наверно будите удивлены, но в качестве адреса ресета может быть указана функция, написанная на C.
Если модуль с ней слинкован в флешь.
Не верите - а попробуйте.
Хотя - Вы же fabless...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 6 2010, 14:26
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vallav @ Jun 6 2010, 17:23) *
Кстати, Вы наверно будите удивлены, но в качестве адреса ресета может быть указана функция, написанная на C.

Ответ правильный. Угадали? Но процент угадывания много ниже статистических 50% sad.gif. Не везет smile.gif.
Теперь ответ на вопрос номер 5. И после подробнее насчет "идиотов":
Цитата
Мое мнение, в NXP не идиоты делать это аппаратно, когда это можно с тем же успехом сделать программно в коде инициализации.
Что там и делается.
Не надо свято верить тому, что напечатоно. И в печатных текстах бывают ошибки и казусы...

и соответственно того, когда и кем указатель стека иницализируется до момента вызова этой самой первой функции.
Кстати, на вопросы надо отвечать на все - Вы слишком много вопросов пропускаете. Незачет будет!
Цитата
Хотя - Вы же fabless...

С чего это Вы так тешите себя этой иллюзией smile.gif. Придется и с этой иллюзией Вас обломать. В На фото в приложении Cortex-M3 в двух экземпярах. Есть и третий.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
vallav
сообщение Jun 6 2010, 14:33
Сообщение #25


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

Группа: Участник
Сообщений: 197
Регистрация: 8-04-05
Пользователь №: 3 977



Цитата(zltigo @ Jun 6 2010, 18:26) *
Ответ правильный. Угадали?
Теперь ответ на вопрос номер 5. И после подробнее насчет "идиотов":

Неужели проверить успели?
Вот это скорость...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jun 6 2010, 15:16
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(vallav @ Jun 6 2010, 17:33) *
Неужели проверить успели?

Проверять, получать результаты и не мочь их осмыслить и понять, что удел ламеров и недоучек. Нормальные люди действуют предварительно все продумав и наверняка - знают, что делают и все задуманное получается. Посему, давайте на заданные вопросы ищите ответы. Может поможет. Но я на этом вообще-то совершенно не настаиваю - вопросы задумывались прежде всего для других форумчан.
Цитата
Вот это скорость...

Офигительная. Настоящая машина времени - на майские праздники пришли борды и тогда-же я портировал операционку, консольку, Ethernet, загрузчик и прочее. До этого, урывками почитывал первоисточники - ну думаю в сумме не менее 40 часов. Месяц тому назад еще сутки усиленного чтения и за 3 дня вышеупомянутое было поднято. Сейчас занимаюсь другим. Дней через 10 дней продолжу.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vallav   Несколько вопросов по lpc176x   Apr 12 2010, 16:29
- - zltigo   Цитата(vallav @ Apr 12 2010, 18:44) 1. По...   Apr 12 2010, 17:10
- - Аматер   Зато NXP сохранил совместимость по ногам с ARM7. ...   Apr 12 2010, 17:47
- - sonycman   Можно под шумок спросить знатоков - сколько тактов...   Apr 12 2010, 18:09
|- - vallav   Цитата(sonycman @ Apr 12 2010, 22:24) Мож...   Apr 13 2010, 05:06
|- - sonycman   Цитата(vallav @ Apr 13 2010, 09:21) Встре...   Apr 13 2010, 08:16
||- - vallav   Цитата(sonycman @ Apr 13 2010, 12:31) С т...   Apr 13 2010, 10:51
||- - Student Pupkin   Цитата(vallav @ Apr 13 2010, 14:55) Дык о...   Apr 13 2010, 11:16
|||- - vallav   Цитата(Student Pupkin @ Apr 13 2010, 15:3...   Apr 13 2010, 11:41
|||- - Student Pupkin   Цитата(vallav @ Apr 13 2010, 15:56) Извин...   Apr 13 2010, 12:13
||- - zltigo   Цитата(vallav @ Apr 13 2010, 13:06) Вы ко...   Apr 13 2010, 11:18
|- - zltigo   Цитата(vallav @ Apr 13 2010, 07:21) Встре...   Apr 13 2010, 09:10
|- - Student Pupkin   Цитата(vallav @ Apr 13 2010, 09:21) Про о...   Apr 13 2010, 10:31
- - vallav   По gpio ответ вроде такой - оно в lpc176x не предн...   Apr 15 2010, 05:25
|- - vallav   Может кто либо все же в курсе - сколько тактов зан...   Apr 20 2010, 15:49
- - igorsk   Цитата(vallav @ Apr 13 2010, 06:21) И еще...   Apr 24 2010, 01:50
|- - vallav   Цитата(igorsk @ Apr 24 2010, 06:05) Есть ...   Apr 24 2010, 10:00
- - evgen2   Цитата(vallav @ Apr 12 2010, 20:29) Вроде...   Apr 28 2010, 22:14
|- - vallav   Цитата(evgen2 @ Apr 29 2010, 02:14) Что т...   Apr 29 2010, 04:41
|- - sonycman   Цитата(vallav @ Apr 29 2010, 08:41) Да и ...   Apr 29 2010, 09:21
|- - vallav   Цитата(sonycman @ Apr 29 2010, 13:21) Да ...   Apr 29 2010, 11:41
|- - sonycman   Цитата(vallav @ Apr 29 2010, 15:41) Вы не...   Apr 30 2010, 09:32
|- - vallav   Пока парился, появилось еще несколько вопросов. 1....   May 23 2010, 08:10
- - igorsk   У вас все перемешано - ARM, Cortex-M и особенности...   May 23 2010, 23:36
|- - vallav   Цитата(igorsk @ May 24 2010, 03:36) У вас...   May 24 2010, 05:01
|- - goodwin   Цитата(vallav @ May 24 2010, 09:01) Вы пр...   May 24 2010, 05:14
||- - vallav   Цитата(goodwin @ May 24 2010, 09:14) А вы...   May 24 2010, 05:43
|- - sonycman   Цитата(vallav @ May 24 2010, 09:01) И что...   May 24 2010, 08:57
||- - vallav   Цитата(sonycman @ May 24 2010, 12:57) А В...   May 24 2010, 10:44
|- - igorsk   Цитата(vallav @ May 24 2010, 06:01) Вы пр...   May 24 2010, 15:17
|- - vallav   Цитата(igorsk @ May 24 2010, 19:17) Обычн...   May 24 2010, 16:34
- - sonycman   Если контрольная сумма отсутствует в файле прошивк...   May 24 2010, 19:35
|- - vallav   Цитата(sonycman @ May 24 2010, 23:35) Есл...   May 25 2010, 05:05
|- - igorsk   Цитата(vallav @ May 25 2010, 06:05) Или в...   May 25 2010, 18:50
|- - vallav   Цитата(igorsk @ May 25 2010, 22:50) Залей...   May 26 2010, 06:45
|- - mrKirill   Цитата(vallav @ May 26 2010, 12:45) Спаси...   May 26 2010, 06:52
|- - vallav   Цитата(mrKirill @ May 26 2010, 10:52) //o...   May 26 2010, 07:24
|- - vallav   Вопрос по таймерам в lpc176x. Есть ли внешний вход...   May 26 2010, 12:22
|- - vallav   Скомпилил аппноуту AN10866 от NXP - secondary USB ...   May 28 2010, 04:48
|- - vallav   Похоже рабочие исходники проги, которая после небо...   May 29 2010, 11:21
|- - zltigo   Цитата(vallav @ May 29 2010, 14:21) Похож...   May 29 2010, 11:57
|- - vallav   Цитата(zltigo @ May 29 2010, 15:57) предс...   May 29 2010, 12:26
|- - zltigo   Цитата(vallav @ May 29 2010, 15:26) Вы эт...   May 29 2010, 13:49
|- - vallav   Ну вот видите, можете, когда захотите. Цитата(zlt...   May 30 2010, 05:54
|- - zltigo   Цитата(vallav @ May 30 2010, 07:54) И что...   May 30 2010, 07:00
|- - vallav   Цитата(zltigo @ May 30 2010, 11:00) Без п...   May 30 2010, 07:33
|- - zltigo   Цитата(vallav @ May 30 2010, 09:33) В слу...   May 30 2010, 08:44
|- - vallav   Цитата(zltigo @ May 30 2010, 12:44) Это в...   May 30 2010, 12:58
|- - toweroff   Цитата(vallav @ May 30 2010, 16:58) Не, т...   May 30 2010, 15:10
- - zltigo   Полный аут. Цитата(vallav @ May 30 2010, 14...   May 30 2010, 13:15
|- - vallav   Цитата(zltigo @ May 30 2010, 17:15) Полны...   May 31 2010, 04:09
|- - zltigo   Цитата(vallav @ May 31 2010, 06:09) И сде...   May 31 2010, 06:51
|- - vallav   Цитата(zltigo @ May 31 2010, 10:51) Это ш...   May 31 2010, 07:32
|- - zltigo   Цитата(vallav @ May 31 2010, 09:32) Ну да...   May 31 2010, 09:23
|- - vallav   Цитата(zltigo @ May 31 2010, 13:23) Если ...   May 31 2010, 10:24
|- - zltigo   Цитата(vallav @ May 31 2010, 12:24) Не ут...   May 31 2010, 11:05
- - vallav   Стерли? Тоже метод в борьбе за длину этой самой. В...   May 31 2010, 17:06
|- - zltigo   Цитата(vallav @ May 31 2010, 19:06) Стерл...   May 31 2010, 17:13
|- - vallav   Предыдущий пост куда то пропал. Да и ладно, все ра...   Jun 1 2010, 04:24
|- - zltigo   Цитата(vallav @ Jun 1 2010, 06:24) Нашел,...   Jun 1 2010, 05:26
|- - vallav   Цитата(zltigo @ Jun 1 2010, 09:26) Бит. О...   Jun 1 2010, 06:03
|- - zltigo   Цитата(vallav @ Jun 1 2010, 08:03) У корт...   Jun 1 2010, 06:30
|- - vallav   Цитата(zltigo @ Jun 1 2010, 10:30) Или не...   Jun 1 2010, 08:17
|- - zltigo   Цитата(vallav @ Jun 1 2010, 10:17) Или у ...   Jun 1 2010, 08:25
- - sonycman   Переключите сигнал CS в режим софтового управления...   Jun 1 2010, 06:31
|- - vallav   Цитата(sonycman @ Jun 1 2010, 10:31) Пере...   Jun 1 2010, 08:13
|- - zltigo   Цитата(vallav @ Jun 1 2010, 10:13) то и с...   Jun 1 2010, 08:15
|- - vallav   Пытаюсь разобраться, почему родной бутлоадер не за...   Jun 3 2010, 16:22
||- - vallav   Вообщем разобрался. На самом деле такая история, к...   Jun 4 2010, 04:13
||- - zltigo   Цитата(vallav @ Jun 4 2010, 07:13) А загр...   Jun 4 2010, 16:22
||- - vallav   Цитата(zltigo @ Jun 4 2010, 20:22) Если р...   Jun 5 2010, 05:40
||- - igorsk   Цитата(vallav @ Jun 5 2010, 06:40) 4. Ну ...   Jun 5 2010, 23:17
- - zltigo   Контрольные вопросы для Принца Флоризеля, который,...   Jun 6 2010, 09:14
- - zltigo   Ответы на все вопросы, кроме первого и частично тр...   Jun 6 2010, 12:26
- - vallav   Цитата(zltigo @ Jun 6 2010, 16:26) Ответы...   Jun 6 2010, 12:42
2 страниц V   1 2 >


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

 


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


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