User
Маскирующиеся баги в эмбедде

В идеале-то да, но откуда рантайму заранее узнать, к скольким локальным статикам я получу доступ в данном запуске программы? Вот ему и приходится выделять себе память под список через malloc, по мере того, как мой код запрашивает тот или иной статик. И я на этот процесс никак напрямую повлиять не могу. Зато вон, выше по комментариям даны отличные примеры обхода этой засады. Аж хочется попробовать у себя.
0
LookМаскирующиеся баги в эмбедде

Keil. Не скажу сейчас, какой точно версии, но мажорная версия 5.
0
LookМаскирующиеся баги в эмбедде

У меня довольно большой проект, не зря под него был выбран камень со 256 килобайтами ОЗУ. Плюс, возможно, объем кучи, который я оставил на момент возникновения ошибки, был совсем маленьким: это сейчас под нее отведен какой-то вполне значительный кусок, а какой был тогда — мне лень искать :)
0
LookМаскирующиеся баги в эмбедде

Это который там называется в опциях проекта «Compiler V6.xx.x»? Да, я тоже думал попробовать на него перейти, но он же при попытке компиляции текущего проекта выкидывает нечеловеческое количество ошибок. Бесспорно, большинство из них можно было бы быстро починить, но некоторые наверняка займут время, да и страшно пускать в релиз код с таким кардинальным изменением. Так что это разве что в каком-то следующем проекте можно попробовать сразу заложиться на новую версию, а текущий пусть уж живет на 5-й. Но за напоминание спасибо, я периодически забываю об этой возможности.
0
LookМаскирующиеся баги в эмбедде

Теоретически такие вещи должны бы, хоть частично, предотвращаться тестами перед коммитом. Но как реализовать тесты в части работы с железом? Это же придется, в конце концов, целый программный имитатор камня создать, необъятная работа. Я бы с великим интересом прочитал материал на эту тему, если у кого-нибудь есть опыт решения этой задачи.
0
LookМаскирующиеся баги в эмбедде

Этот код-то использует С++14, а в Кейле поддерживается только С++11, и то лишь частично. Среда подрезает крылья :)
0
LookМаскирующиеся баги в эмбедде

Это просто прелестно. Спасибо!
0
LookМаскирующиеся баги в эмбедде

Спасибо, поищу материал.
0
LookМаскирующиеся баги в эмбедде

А, в этом смысле. Ну это обалдеть можно тогда.
0
LookМаскирующиеся баги в эмбедде

А количество ножек одинаковое в разных упаковках? Если разное, то можно и не надеяться особо на совпадения, а вот если одно и то же — тогда да, абыдна!
0
LookМаскирующиеся баги в эмбедде

Сплошь и рядом информации в мануале столько, что даже и не пытаешься узнать всё: все равно не запомнишь. Оно и хорошо, лучше больше данных по чипу, чем меньше, но там в середине может быть зарыта вот такая «мелочь». И пока не побьешься головой о какой-то странный случай — не узнаешь, что в твоих условиях это, внезапно, важно.
0
LookHere
1
2There
Information
- Rating
- Does not participate
- Registered
- Activity