Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

'memcpy' forming offset 8 is out of the bounds

Вот интересная ерунда получается: скопировал код работы с FLASH из STM32F103 на STM32F072. Компилирую с теми же флагами, но на 103 все просвистывает без проблем, а на 072:
flash.c: In function 'flashstorage_init':
flash.c:101:9: error: 'memcpy' forming offset 8 is out of the bounds [0, 4] of object '__varsstart' with type 'uint32_t' {aka 'long unsigned int'} [-Werror=array-bounds]
         memcpy(&the_conf, &Flash_Data[currentconfidx], sizeof(user_conf));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from flash.c:39:
flash.h:44:17: note: '__varsstart' declared here
 extern uint32_t __varsstart;

При чем здесь, интересно, тип __varsstart (объявленной в линкер-файле), если мне нужен лишь ее адрес?
static const user_conf *Flash_Data = (const user_conf *)(&__varsstart);

Бред какой-то. Надо пойти погулять...

UPD: я написал static, а в оригинале его не было. Похоже, gcc ругается, если такое вытворять с локальными объектами... (хотя, честно говоря, я ничего не понял).
Все-таки, несмотря на уже приличное количество накопленного кода, он на сниппеты у меня не очень годится: перед использованием все равно приходится тратить время на "причесывание".
Tags: c, рукожопие
Subscribe

  • Хеши строковых команд для МК

    Долго я к этому шел, но, похоже, пора уже: однобуквенные команды сложно запоминать (особенно если команд толпа, и большая часть с этими буквами…

  • OBS studio

    В общем, надоумили меня попробовать трансляцию в youtube. Напрямую скринкасты он писать не умеет, но может забирать поток с промежуточного…

  • M$ teams…

    Начал с сегодняшнего дня студентам ЮФУ удаленно лекции читать. У них все завязано на различные корпорации зла. И базовая работа - через teams. ОК,…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments