OtikMyk
|
|
1 | |
BootLoader для AVR32.04.09.2014, 16:37. Показов 2689. Ответов 1
Метки нет (Все метки)
Написал BootToodir под ATUC3B0512, вернее смог принять по UART последовательно страницы по 512 байты и записать их на флеш в указанные адреса. По приему определенной команды, BootToodir должен выполнить переход к основной программе. Но увы.
Распишу последовательность действий. 1. Сборку проектов Boottooder и MainPragma выполняю на AtmelStudyo 6. (без дополнительных опций – все по умолчанию). 2. Заливка Boottooder выполняется через AtmelStudyo 6 и STK600. 2.1 Залил Boottooder.elf; 2.2 Выставил fuse BOOTPROT BOOTAREA_16KB; 3. Написал программу по разбору MainPragma.hex файла, которая считывает блоки данных по 512 байт и отправляет их на МК. 4. Boottooder принимает блоки данных и последовательно записывает их флеш начиная с адреса 0x4000 и т.д. 5. После “прошивки" считал флеш память МК и убедился в том, что ПО MainPragma легло на флеш как надо. 6. Далее Boottooder принимает команду перехода в сектор старта MainPragma и выполняет: goto *0x80004000; 7. Однако наблюдается картина перезапуска МК и старта Boottooder. Есть догадка, что необходимо настроить опции сборки программы MainPragma в AtmelStudyo 6 каким-то определенным образом, возможно подскажите каким? |
04.09.2014, 16:37 | |
Ответы с готовыми решениями:
1
AVR32 PinBoard II и AVR32 bootloader для atmega8 bootloader для Tiny2313 есть ли? |
OtikMyk
|
|
05.09.2014, 16:28 | 2 |
Все оказалось проще, изменил значение PROGROM_START_OFFSIT для программы
MainPragma вместо 0x00002000 на 0x00004000. После чего MainPragma.hex была залита на МК и заработала. Но есть маленькая загвоздка, которая меня напрягает, а именно: Если частота тактирования в BootToodir и MainPragma различная, ну скажем для MainPragma #define CONFIG_PLL0_MUL (60000000UL / BOARD_OSC0_HZ) #define CONFIG_PLL0_DIV 1 #define BOARD_OSC0_HZ 14745600 А для BootToodir: #define CONFIG_PLL0_MUL 1 #define CONFIG_PLL0_DIV 1 #define BOARD_OSC0_HZ 14745600 То после перехода из программы BootToodir в MainPragma частота МК остается выставленной как для BootToodir. Может подскажите как лечится? |
05.09.2014, 16:28 | |
05.09.2014, 16:28 | |
Помогаю со студенческими работами здесь
2
Bootloader для atmega8 PBII AVR32 включение глобальных прерываний AES Bootloader для STM32 Serial Bootloader для CC1110 Bootloader для PIC24F16KA102 по RS-485 изменение встроенного bootloader-а для защиты? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |