Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: lpc11xx checksum
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
_Артём_
День добрый.
Сегодня заметил, что build примеров от NXP заканчивается строкой:
Цитата
Created checksum 0x39d6ffef in canopen_onchip.bin at offset 0x1c

Какой-такой checksum?
Где про неё сказано?
Что будет если её не сгенерить?

Спасибо.
maksimp
Цитата(_Артём_ @ Aug 6 2012, 19:30) *
Какой-такой checksum?
Где про неё сказано?

Сказано в User manual на процессор. Просто ищите "checksum" по PDF.
Цитата(_Артём_ @ Aug 6 2012, 19:30) *
Что будет если её не сгенерить?

Тогда встроенный загрузчик не передаст управление на программу пользователя:
Цитата
Criterion for Valid User Code
The reserved Cortex-M3 exception vector location 7 (offset 0x 001C in the vector table)
should contain the 2’s complement of the check-sum of table entries 0 through 6. This
causes the checksum of the first 8 table entries to be 0. The boot loader code checksums
the first 8 locations in sector 0 of the flash. If the result is 0, then execution control is
transferred to the user code.

Иначе - активизирует прошивка по последовательному порту:
Цитата
If the signature is not valid, the auto-baud routine synchronizes with the host via serial port
0. The host should send a “?” (0x3F) as a synchronization character and wait for a
response. The host side serial port settings should be 8 data bits, 1 stop bit and no parity. ...

Сергей Борщ
Фишка NXP. Искать в описании встроенного загрузчика (ISP). Контрольная сумма векторов должна быть равна нулю, по этому признаку встроенный загрузчик определяет наличие прошивки и передает ей управление. В противном случае после сброса стартует встроенный загрузчик.
_Артём_
Спасибо за разъяснения.

Как-то я не ожидал таких фишек, а 26-ой раздел ДШ как-то пропустил. Да и программы работали без проблем, хотя в нужном месте всегда нули были.
Сергей Борщ
QUOTE (_Артём_ @ Aug 7 2012, 01:32) *
хотя в нужном месте всегда нули были.
А как эти программ заливались? ИАР подставляет контрольную сумму молча перед отладкой, FlashMagic тоже добавляет ее перед прошивкой. Возможно, и ваш инструментарий добавлял ее незаметно.
_Артём_
Цитата(Сергей Борщ @ Aug 7 2012, 04:47) *
А как эти программ заливались?

Вроде всего три варианта:
FlashMagic
В отладку LPCXppresso
Через пункт меню LPCXppresso - Program flash

Цитата(Сергей Борщ @ Aug 7 2012, 04:47) *
ИАР подставляет контрольную сумму молча перед отладкой, FlashMagic тоже добавляет ее перед прошивкой. Возможно, и ваш инструментарий добавлял ее незаметно.

Наверное добавляет.
Попробую увидеть сумму через простмотр памяти в отладчике.
_Артём_
Цитата(_Артём_ @ Aug 7 2012, 13:09) *
Наверное добавляет.
Попробую увидеть сумму через простмотр памяти в отладчике.

Проверил: по адресу 0x1C не ноль,а число дающее в сумме с предыдущими семью словами 0x100000000.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.