ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
298119 Топик полностью
SciFi (10.01.2012 19:02, просмотров: 130) ответил T.Дocтoeвcкий на А неподскажите ещё, как функцию целиком в РАМе разместить?
Можно так: /** * Реализация функции * void flash_start_wait(uint32_t volatile* reg, uint32_t start) * { * *reg |= start; * while ((*reg & start) != 0) {} * } * Служебная функция для ожидания завершения операции стирания или записи. * Функция размещается в ОЗУ, так как при стирании или записи флэш-память * может быть недоступна. */ static uint32_t flash_start_wait[] = { 0xE5902000, /* LDR R2, [R0] */ 0xE1822001, /* ORR R2, R2, R1 */ 0xE5802000, /* STR R2, [R0] */ 0xE5902000, /* loop LDR R2, [R0] */ 0xE1120001, /* TST R2, R1 */ 0x1AFFFFFC, /* BNE loop */ 0xE12FFF1E /* BX LR */ };
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้