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

 
 
> Keil 5.23 ошибка L6971E, Нужна подсказка
smk
сообщение May 18 2017, 07:13
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Здравствуйте!
Платка STM32F746-discovery. Подключил GUIBuilder, создал проект по кейловскому хелпу. Получил вот такую ошибку. Никогда раньше не сталкивался с таким. Прошу подсказать что это значит и как лечится? Спасибо.

Код
.\Objects\STM32F746NGH6-DISCOVERY.axf: Error: L6971E: gui_x_rte.o(.data) type RW incompatible with lcdconf.o(.ARM.__AT_0x20000000) type ZI in er RW_IRAM2.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
romas2010
сообщение May 20 2017, 08:41
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 25-11-11
Пользователь №: 68 515



Цитата(smk @ May 18 2017, 10:13) *
Здравствуйте!
Платка STM32F746-discovery. Подключил GUIBuilder, создал проект по кейловскому хелпу. Получил вот такую ошибку. Никогда раньше не сталкивался с таким. Прошу подсказать что это значит и как лечится? Спасибо.

Код
.\Objects\STM32F746NGH6-DISCOVERY.axf: Error: L6971E: gui_x_rte.o(.data) type RW incompatible with lcdconf.o(.ARM.__AT_0x20000000) type ZI in er RW_IRAM2.


Компилятор Keil не разрешает размещать данные в ОЗУ таким образом через __attribute,типа char lcdconf[20] __attribute(at(0x20000000))).....
видимо прихоть его разработчиков...Обхожу данный нюанс при помощи ассемблера

Код
               AREA   |.ARM.__AT_0x2000000|,DATA,READWRITE
                                  EXPORT lcdconf
lcdconf     space 20

в h-файле прописываете
Код
extern char lcdconf[20];


Сообщение отредактировал romas2010 - May 20 2017, 08:46
Go to the top of the page
 
+Quote Post
smk
сообщение Jul 30 2017, 14:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата(romas2010 @ May 20 2017, 11:41) *
Компилятор Keil не разрешает размещать данные в ОЗУ таким образом через __attribute,типа char lcdconf[20] __attribute(at(0x20000000))).....
видимо прихоть его разработчиков...Обхожу данный нюанс при помощи ассемблера

Код
               AREA   |.ARM.__AT_0x2000000|,DATA,READWRITE
                                  EXPORT lcdconf
lcdconf     space 20

в h-файле прописываете
Код
extern char lcdconf[20];

А можно подробнее. Сейсас scatter file выглядит вот так:
Код
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x08000000 0x00100000  {   ; load region size_region
  ER_IROM1 0x08000000 0x00100000  { ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20010000 0x00040000  { ; RW data
   .ANY (+RW +ZI)
  }
  RW_IRAM2 0x20000000 0x00010000  {
   *GUI_CM4F_L.lib (+RO +ZI +RW)
    GUI_X_RTE.o (+RO +ZI +RW)
    GUIConf.o (+RO +ZI +RW)
   .ANY (+RW +ZI)
  }
}


Когда подключил его в проект то получил такую ошибку: error: A1355U: A Label was found which was in no AREA.
Если можно, то подробней как обойти предыдущую или эту ситуацию? Как правильно и куда сделать ассемблерную вставку? Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post



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

 


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


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