Вижу для родного gcc - самое правильное
Код
typedef uint32_t __attribute__((section(".bitmap"))) bit;
Какбы вопросы, возникающие в связи с этим:
1. Как избежать использование области памяти в не bit-band в линкер скрипте?
2. Как наоборот, - проще получить параметры этой области или ее части для быстрого обнуления?
Спасибо.
ps
вот увидел такое http://stackoverflow.com/questions/1655271...ection-in-c-gcc
Код
/**
* Assuming you've tagged some stuff earlier with:
* __attribute((__section__("my_custom_section")))
*/
struct thing *iter = &__start_my_custom_section;
for (; iter < &__stop_my_custom_section; ++iter) {
/* do something with *iter */
}
* Assuming you've tagged some stuff earlier with:
* __attribute((__section__("my_custom_section")))
*/
struct thing *iter = &__start_my_custom_section;
for (; iter < &__stop_my_custom_section; ++iter) {
/* do something with *iter */
}
т.е. получается, что я могу выделить под битмап что-то
и его размер будет
Код
extern char bitmap[((uint) __stop_my_custom_section - __start_my_custom_section)/32];
а как мне на этапе компиляции назначить адрес этой области?