Size: a a a

2017 December 15

V

Vladimir in embedded.rs
И может ли быть зависание вызвано обработкой каких-то прерываний?
источник

V

Vladimir in embedded.rs
как там деление на 0 обрабатывается и другие исключительные ситуации
источник

AS

Andrew Strokov in embedded.rs
ага, высыпалось в hardfault
источник

AS

Andrew Strokov in embedded.rs
откуда-то из freertos
источник

AS

Andrew Strokov in embedded.rs
а как сказать расту, чтобы он в BSS положил переменную, а не на стек?
источник

MC

Mikhail Cheshkov in embedded.rs
Andrew Strokov
а как сказать расту, чтобы он в BSS положил переменную, а не на стек?
Сделать ее глобальной
источник

AS

Andrew Strokov in embedded.rs
а если я не хочу, чтобы она была глобальной?
источник

AS

Alexey Shmalko in embedded.rs
Статической
источник

AS

Andrew Strokov in embedded.rs
а как?
источник

AS

Alexey Shmalko in embedded.rs
static
источник

AS

Andrew Strokov in embedded.rs
let static mut foo: i32, так что ли?
источник

AS

Andrew Strokov in embedded.rs
static mut foo
источник

AS

Andrew Strokov in embedded.rs
ну и весь код приходится в unsafe оборачивать
источник

AS

Andrew Strokov in embedded.rs
ну и все равно не помогло, ну нафиг
источник

AS

Alexey Shmalko in embedded.rs
Чем инициализировал?
источник

AS

Alexey Shmalko in embedded.rs
В bss только нули попадают
источник

AS

Andrew Strokov in embedded.rs
почему только нули, в начале же есть секция инициализации bss
источник

AS

Andrew Strokov in embedded.rs
инициализировал нулями
источник

AS

Andrew Strokov in embedded.rs
короче строчка let mut v_level_mV: i32 = ((adc_data[0] as i32) * Vref / 4096); все ломает
источник

AS

Alexey Shmalko in embedded.rs
Ну потому что компилятор в бсс ложит только статические переменные инициализированные нулями. (и сама секция в ельфе/бинаре занимает ничего)

Если инициализируется не нулем, то идёт в секцию .data
источник