Есть 2 платы, они электрически идентичны. Маркировки на чипах:
//4000
STM32L152 RBT6
GH24F VG
CHN GN 425
в другой
//3FFF
STM32L152 RBT6
GH244 VG
CHN GH 412
Прошивка пишется под линуксом на с++ и компилится с помощью GCC.
Что бы прошивка работала на первом в ld скрипте (
взял здесь) параметр _estack = 0x20004000, но прошивка с такими параметрами не работает как надо (не работают порты GPIOC, но работает например USART на GPIOA и остальные пины) на втором чипе. Потом я где то наткнулся на чей то код для stm32l152 и там адрес был _estack = 0x20003FFF и с ним прошивка завелась. У меня нет идей почему так.
Утилита st-term из
этого репо на обоих чипах выдаёт одинаково:
$ st-term
ST-Linky proof-of-concept terminal :: Created by Necromant for lulz
chip id: 0x416
core_id: 0x2ba01477
cpuid:impl_id = 0x41, variant = 0x2
cpuid:part = 0xc23, rev = 0
sram: 0x20000000 bytes @ 0x4000
stlinky magic not found in sram :(
//я её использовал для показа информации о чипе
Какую информацию еще добавить?
Подскажите где найти информацию по поводу адресации и почему так странно оно себя ведёт.
Спасибо.