Easyelectronics.ru

Электроника для всех
Текущее время: 29 мар 2020, 10:20

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Linux. Cофт для отлдаки. Ликбез
СообщениеДобавлено: 09 ноя 2014, 16:00 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 01 апр 2013, 19:45
Сообщения: 32
Доброго времени суток!

Решил на выходных устранить ликбез по написанию софта и отладке микроконтроллерами в Linux (на работе весь код для кортексов пишем под IAR, но не о нем речь).

Взял небольшой набор инструментов:
  • домашний комп с Linux на ботрту.
  • JTAG = STLink
  • целевой контроллер stm32l052 (первое, что под руку попалось, точнее он был припаян к отладке)

Написал код, который зажигает светодиод
Show main.c

взял подходящий statrup
Show startup.asm

Навоял скрипт для линкера. Возможно где-то допустил ошибку
Show stm32.ld
Собрал всё это дело.

и вот тут для меня начались не самые прозрачные вещи.
чем прошивать? выбрал https://github.com/texane/stlink
st-flash отказывается прошивать. выдает ошибку
./st-flash write test.bin 0x08000000
Код:
2014-11-09T16:38:45 INFO src/stlink-common.c: Loading device parameters....
2014-11-09T16:38:45 INFO src/stlink-common.c: Device connected is: L0x3 device, id 0x10086417
2014-11-09T16:38:45 INFO src/stlink-common.c: SRAM size: 0x2000 bytes (8 KiB), Flash: 0x10000 bytes (64 KiB) in pages of 128 bytes
2014-11-09T16:38:45 INFO src/stlink-common.c: Attempting to write 276 (0x114) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08000100 erased
2014-11-09T16:38:45 INFO src/stlink-common.c: Finished erasing 3 pages of 128 (0x80) bytes
2014-11-09T16:38:45 INFO src/stlink-common.c: Starting Half page flash write for STM32L core id
2014-11-09T16:38:45 INFO src/stlink-common.c: Successfully loaded flash loader in sram
  4/4 halfpages written
2014-11-09T16:38:45 INFO src/stlink-common.c: Starting verification of write complete
2014-11-09T16:38:45 ERROR src/stlink-common.c: Verification of flash failed at offset: 0
stlink_fwrite_flash() == -1
почему он выдает Successfully loaded flash loader in sram?

через gbd выдается ошибка
Код:
(gdb) target extended-remote :4242
Remote debugging using :4242
0xfffffffe in ?? ()
(gdb)
(gdb) load
Loading section .text, size 0x110 lma 0x8000000
Loading section .init, size 0x4 lma 0x8000110
Error finishing flash operation
(gdb) 
от куда появилась секция .init?

куда копать? ошибка в скрипте линкера? контроллер не поддерживается прошивальщиком?

j-tag точно работает. вообще вся эта связка железок точно рабочая.
Код:
lsusb | grep ST-LINK
Bus 002 Device 003: ID 0483:3748 STMicroelectronics ST-LINK/V2

Заранее благодарен


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux. Cофт для отлдаки. Ликбез
СообщениеДобавлено: 12 ноя 2014, 20:57 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 01 апр 2013, 19:45
Сообщения: 32
Упростил максимально скрипт линкера. нашёл ошибку. исправил. подправленный вариант в первом сообщении.
щас прошивка заливается, светодиод загорается. но очень удивила скорость программирования:
Код:
(gdb) load test.elf
Loading section .isr_vector, size 0xc0 lma 0x8000000
Loading section .text, size 0x326 lma 0x80000c0
Loading section .data.xNextTaskUnblockTime, size 0x4 lma 0x80003e6
Start address 0x80000c0, load size 1002
Transfer rate: 31 bytes/sec, 334 bytes/write.
Подскажите, куда копать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux. Cофт для отлдаки. Ликбез
СообщениеДобавлено: 13 ноя 2014, 21:39 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 01 апр 2013, 19:45
Сообщения: 32
Нашёл на гитхабе похожую проблему, но от этого легче не стало....

https://github.com/texane/stlink/issues/274


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux. Cофт для отлдаки. Ликбез
СообщениеДобавлено: 26 ноя 2014, 22:10 
Только пришел

Зарегистрирован: 18 мар 2012, 01:12
Сообщения: 19
iNOP писал(а):
Упростил максимально скрипт линкера. нашёл ошибку. исправил. подправленный вариант в первом сообщении.
щас прошивка заливается, светодиод загорается. но очень удивила скорость программирования:
Код:
(gdb) load test.elf
Loading section .isr_vector, size 0xc0 lma 0x8000000
Loading section .text, size 0x326 lma 0x80000c0
Loading section .data.xNextTaskUnblockTime, size 0x4 lma 0x80003e6
Start address 0x80000c0, load size 1002
Transfer rate: 31 bytes/sec, 334 bytes/write.
Подскажите, куда копать?

Шью через OpenOCD - 23-25 килобайт в секунду . OpenOCD собирать самому, с поддержкой ST-Link .
Через старый texane st-link было 1 -1,5 кбайт в секунду, но это было в январе 2012 года ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux. Cофт для отлдаки. Ликбез
СообщениеДобавлено: 27 ноя 2014, 00:18 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4379
Откуда: КЧР, поселок Нижний Архыз
Софт с гита ставил?
А то, может быть, это какая-то древняя тормозная версия?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux. Cофт для отлдаки. Ликбез
СообщениеДобавлено: 03 дек 2014, 19:04 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 01 апр 2013, 19:45
Сообщения: 32
Eddy_Em писал(а):
Софт с гита ставил?
Да, конечное с гита


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB