Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: RTX Kernal Hard_Fault ?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Dениs
Использую для проетка RTX Kernal и она постоянно уходит hard_fault когда происходит вызов _calloc_box ... ?
Код
static _declare_box(Machines_buffer,MACHINES_BUFFER,2);

_init_box(Machines_buffer,MACHINES_BUFFER,2);
...
Machines.Machines_box = _calloc_box(Machines_buffer);
...
buffer = _calloc_box(Machines_buffer);
...
_free_box(Machines_buffer,Machines.Machines_box);
os_dly_wait(1);
Machines.Machines_box = _calloc_box(Machines_buffer);
...
_free_box(Machines_buffer,buffer);
...
buffer = _calloc_box(Machines_buffer); [i][b]// И вот в этой точке вылетает в дробадан ?[/b][/i]


Может я че-то криво делаю, подскажите плз ? fman.gif

Это что получается только один раз можно выделять память зачем тогда _free_box ?

Самое интересное в том что когда я использую вместо _calloc_box - _alloc_box:
Код
static _declare_box(Machines_buffer,MACHINES_BUFFER,2);

_init_box(Machines_buffer,MACHINES_BUFFER,2);
...
Machines.Machines_box = _alloc_box(Machines_buffer);
...
buffer = _alloc_box(Machines_buffer);
...
_free_box(Machines_buffer,Machines.Machines_box);
os_dly_wait(1);
Machines.Machines_box = _alloc_box(Machines_buffer);
...
_free_box(Machines_buffer,buffer);
...
buffer = _alloc_box(Machines_buffer); [i][b]// А вот теперь ошибок нету, но почему ?[/b][/i]


P.S. Machines_buffer - Пул памяти для динамического массива и буфера в который копируется динамический массив и перезаписывается в основную память.
Dениs
Еще один удевительный факт состоит в том, что выделяя из общего пула Box размера MACHINES_BUFFER = 2048 первый и второй Box перекрываются
и при записи 2048 нулевых байт затирается вторая коробка ?

Код
  Machines.Machines_box = _calloc_box(Machines_buffer);
  Machines.Buffer_box   = _calloc_box(Machines_buffer);


Помогите плз !
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.