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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Кейл. Вставить crc бинарник.
x893
сообщение Oct 25 2016, 20:28
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Проще за 30-60 минут написать нужную.
Go to the top of the page
 
+Quote Post
svss
сообщение Nov 9 2016, 07:42
Сообщение #17


Местный
***

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



Цитата(aaarrr @ Oct 25 2016, 11:20) *
Это не CRC, а контрольная сумма, и не всего бинарника, а только векторов. Специфичная для LPC вещь, описание можно найти в документации на процессор.
0 - 0x10001600 - 0x800028d - 0x800cbb9 - 0x8009d21 - 0x800cbb5 - 0x8001015 - 0x8012085 = 0xbffc824a


А нельзя ли чуть подробнее про это..
То есть, да, в документации на процессор написано, что Boot проверяет сумму первых восьми из области векторов на ноль.
Однако чегой-то мой Кейл не желает вычислять эту контрольную сумму, а вовсе тупо складывает на её место в бинарник константу 0x5A5A5A5A из файла startup_lpc43xx.s.
(у меня LPC4337 Cortex M4 машина и Keil 5.12)
В результате, понятно, shadow регистр не инициализирован и процессор просто виснет.

Однако если я руками вписываю правильную контрольную сумму в startup_xx.s файл то она попадает в бинарник, и всё начинает работать как надо.
Понимаю, что я что-то пропустил. Ткните, пож., меня носом в то место где читать ..
Спасибо.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 9 2016, 07:51
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(svss @ Nov 9 2016, 10:42) *
Однако чегой-то мой Кейл не желает вычислять эту контрольную сумму, а вовсе тупо складывает на её место в бинарник константу 0x5A5A5A5A из файла

Не желает, наверное, потому что его об этом и не просят? У Keil'а есть отдельная утилита для прописывания суммы.
Go to the top of the page
 
+Quote Post
svss
сообщение Nov 10 2016, 04:39
Сообщение #19


Местный
***

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



Цитата(aaarrr @ Nov 9 2016, 13:51) *
Не желает, наверное, потому что его об этом и не просят? У Keil'а есть отдельная утилита для прописывания суммы.

спасибо. rolleyes.gif
к слову, IAR (7.50) , без бубна и костра делает всё как надо. это и вызвало смущение.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 10 2016, 06:34
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(svss @ Nov 10 2016, 07:39) *
к слову, IAR (7.50) , без бубна и костра делает всё как надо. это и вызвало смущение.

Странно: контрольная сумма векторов - это довольно убогое изобретение NXP, больше никем не используется. Без явного указания она появляться не должна.
Может, под 7.50 грузили каки-нибудь JTAG'ом, и не обратили внимание просто?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 10 2016, 07:13
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(aaarrr @ Nov 10 2016, 09:34) *
Странно: контрольная сумма векторов - это довольно убогое изобретение NXP, больше никем не используется. Без явного указания она появляться не должна.

IAR её генерит когда в свойствах проекта в качестве целевого МК указываешь что-то из LPC. Если указать просто Cortex-M - не будет.
Go to the top of the page
 
+Quote Post
svss
сообщение Nov 11 2016, 02:50
Сообщение #22


Местный
***

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



Цитата(aaarrr @ Nov 10 2016, 12:34) *
Странно: контрольная сумма векторов - это довольно убогое изобретение NXP, больше никем не используется. Без явного указания она появляться не должна.
Может, под 7.50 грузили каки-нибудь JTAG'ом, и не обратили внимание просто?

Нет.
Взял машину (lpc4337), поставил IAR, всё заработало, поставил Keil, долго плясал с бубном, потом нашёл причину, задал здесь вопрос, проверил - работает.
После этого вернулся к IAR, убедился что он всё делает сам, включая Intel HEX (если крыжик поставить) с правильной контрольной суммой.
То есть JTAG тут рядом не лежит.
"О сколько нам открытий чудных.."

Что до того, должна ли контрольная сумма появляться, мне кажется так:
если в проекте выбрана машина NXP LPC4337, и если у этой машины в мануале написано, что без правильной контрольной суммы в области векторов ничего не будет работать,
то инструмент должен эту сумму сначала делать, а потом уже для умных крякеров объяснять как сделать так чтоб её не делать.

Цитата(jcxz @ Nov 10 2016, 13:13) *
IAR её генерит когда в свойствах проекта в качестве целевого МК указываешь что-то из LPC. Если указать просто Cortex-M - не будет.

Да, так.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 11 2016, 04:54
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(svss @ Nov 11 2016, 05:50) *
если в проекте выбрана машина NXP LPC4337...

То есть явно указана.

По мне, в проекте вообще не должны фигурировать "машины", а только ядра, но не буду занудствовать sm.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Nov 11 2016, 08:40
Сообщение #24


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



У двухядерных NXP читайте доки на проц внимательно, где КС по смещению 0x1C должна стоять, а где нет. Два банка по-разному.
______________
Отношение к этой безобидной КС у некоторых довольно странное. Это же не маджик црц, от которой может хвост вырасти.

Сообщение отредактировал GetSmart - Nov 11 2016, 12:08


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th June 2025 - 10:02
Рейтинг@Mail.ru


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