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

 
 
> Ошибка при компиляции, Error[e124]: Segment conflict for segment ISTACK. In module "__pro
shrek
сообщение Aug 16 2010, 11:10
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



Добрый день. Проблема вот в чем...
Собирал сегодня проект (точнее что то вроде близкое к проекту). Компилятор IAR MCS-51 v7.51A.
Камень nRF24LE1.
Написал вот такую функцию, которая (по идее должна) записывает в модуль интегрированного приемопередатчика порцию байтов разной длинны. Компилятор и до этого ругался как оказалось на указатель *buff. Почему то ему он не нравился wacko.gif ...
Код
void rf_write_multibyte_reg(unsigned char reg, unsigned char *buff, unsigned char byte_num)
     {
     unsigned char i;
     i = 0;
     CS_LOW;
     rf_spi_rw(W_REGISTER | reg);
     while (i < byte_num)
          {
          rf_spi_rw(*(buff + i));
          i++;
          }
     CS_HIGH;
     }


После компиляции выдал ошибку:
Error[e124]: Segment conflict for segment ISTACK. In module "__program_start" there is a segment part that is of type STACK, while in module "CSTARTUP" there is a segment part that is of type RELOCATABLE

немного изменил функцию
Код
void rf_write_multibyte_reg(unsigned char reg, unsigned char *buff, unsigned char byte_num)
     {
     unsigned char i;
     i = 0;
     CS_LOW;
     rf_spi_rw(W_REGISTER | reg);
     while (i < byte_num)
          {
          rf_spi_rw(*(buff + i));
          //i++;
          }
     CS_HIGH;
     }


соответственно цикл стал бесконечным... Но компилятор его схавал!!!
Изменял размер стека все бестолку...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
skripach
сообщение Aug 17 2010, 15:00
Сообщение #2


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата
Но когда я пытаюсь передать в функцию указатель на первый элемент массива, который находится в памяти code

Если у code и data разные адресные пространства (не помню как том i8051), то наверное проблема в этом.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post



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

 


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


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