реклама на сайте
подробности

 
 
> Выполнение функции из RAM, STM32L151 Keil
MiklPolikov
сообщение Jul 16 2016, 00:40
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Пытаюсь выполнить функцию из RAM.
Попадаю в Hardfault.
Подскажите, что я делаю неправильно ?
STM32L151 Keil

Код
////////////////////////////
void function(void)
{
    
}

//////////////////////////
void Execute_Function_From_Ram(void)
{
     unsigned int func_ram_array[0x20];
    
    int i;
      unsigned char *p1;
      unsigned char *p2;
    void  (*p_function)(void)=&function;
    
    
      p_function(); ///вызов через указатель ОК

     //переписываем функцию в RAM
      p1=(unsigned char*)p_function;  
      p2=(unsigned char*)&func_ram_array[0];
      for(i=0;i<(0x20*4);i++)
      {
              p2[i]=p1[i];
        }
      
        //запускаем из RAM
        p_function=(void*)p2;
        p_function(); ///тут программа попадает в HardFault
    
}



--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MiklPolikov   Выполнение функции из RAM   Jul 16 2016, 00:40
- - aaarrr   Цитата(MiklPolikov @ Jul 16 2016, 03:40) ...   Jul 16 2016, 01:04
- - x893   У них есть пример как это делать. Ключевое слово _...   Jul 16 2016, 01:16
|- - MiklPolikov   ЦитатаНу, как минимум нулевой бит в адресе вызывае...   Jul 16 2016, 01:43
- - x893   Посыпаю голову пеплом - __ramfunc это в IAR В каче...   Jul 16 2016, 08:41
|- - MiklPolikov   Цитата(x893 @ Jul 16 2016, 11:41) прилага...   Jul 16 2016, 15:45
|- - aaarrr   Цитата(MiklPolikov @ Jul 16 2016, 18:45) ...   Jul 16 2016, 17:09
|- - scifi   Цитата(MiklPolikov @ Jul 16 2016, 18:45) ...   Jul 17 2016, 07:17
|- - jcxz   Цитата(scifi @ Jul 17 2016, 13:17) Горазд...   Jul 17 2016, 08:15
|- - MiklPolikov   Вот почему в примере x893 в map файле видно что ...   Jul 17 2016, 12:48
- - jcxz   Цитата(MiklPolikov @ Jul 16 2016, 06:40) ...   Jul 16 2016, 12:13
- - x893   Установить в Debug - Simulator и нажать Ctrl-F5 Мо...   Jul 16 2016, 21:00
- - aaarrr   Смотрите сгенерированный .scat   Jul 17 2016, 13:02
|- - MiklPolikov   Цитата(aaarrr @ Jul 17 2016, 16:02) Смотр...   Jul 17 2016, 13:33
- - aaarrr   Как можно видеть, "не шработала" галочка...   Jul 17 2016, 14:19
|- - MiklPolikov   Цитата(aaarrr @ Jul 17 2016, 17:19) Как м...   Jul 17 2016, 14:28
- - aaarrr   OMG! Не надо ставить галочки, не надо позволят...   Jul 17 2016, 15:30
|- - pitt   Цитата(aaarrr @ Jul 17 2016, 11:30) По во...   Jul 17 2016, 16:22
- - x893   suum cuique   Jul 17 2016, 18:12


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01357 секунд с 7
ELECTRONIX ©2004-2016