2013-06-18 5 views
0

Я использовал Keolabs Ride7 для создания шестнадцатеричного ядра, а также двоичный файл некоторого базового кода для STM32F205RG. dfu-utils также работает (я могу запрограммировать smartwatch с оригинальной прошивкой). Однако, учитывая двоичные/шестнадцатеричные файлы, у меня есть, куда я иду отсюда. Я заметил из вашего прошивки dfu-файла, что вы размещаете код в нескольких местах во флэш-памяти. Является 0x0800C000, где я должен поставить мой и есть что-нибудь (кроме инициализации периферийных устройств, которые я хочу использовать), которые должны быть в этом коде.SmartWatch взломал, продвигаясь вперед

С уважением, Gustaf

ответ

1

Для первого, где стартового кода вам нужно использовать переназначение таблицы прерываний для смещения от начального адреса (по умолчанию это пункт 0x08000000) и добавить смещение линкера скрипта для коррекции. У меня нет SmartWatch и не знаю точки входа. Возможно, это вектор прерывания по умолчанию для смещения 0xC000 или другого. Просто используйте JTAG и посмотрите дизассемблированный код оригинальной прошивки.

+1

Спасибо. Если бы STM исполнял пользовательский код с 0x08000000, все было бы легко. Первые 16k доступны только для чтения, и я предполагаю, что они состоят из их собственной обработки dfu (а также показывая зеленую полосу с движущейся точкой :)). Необходимость смещения, о котором я знаю. Похоже, мне придется немного разобраться. –

+0

Также вам нужно играть с конфигурацией осциллятора. Sony не публикует, какой осциллятор используется в SmartWatch, внутреннем в MCU или внешнем, и если используется внешнее, какова его частота. – exception13

+0

Да, я подумал, что сейчас буду использовать HSI или LSI, чтобы начать работу. –

0

Существует открытый источник toolchain (ССЗ) адаптации, предназначенная для Arduino использования GNU Tools for ARM Embedded Processors и периферической библиотека STM32F2xx_StdPeriph_Driver.

Он создает прошивку, отображающую некоторую приятную информацию на экране в качестве доказательства концепции. Он даже запустит прошивку до SmartWatch, если вы выполните make program и установите dfu-util.

Вы должны иметь возможность разблокировать этот make-файл и легко создавать свои собственные приложения.