|
NiosII, C/C++., Локализация данных в пространстве адресов. |
|
|
|
Jun 19 2008, 10:00
|
Местный
  
Группа: Свой
Сообщений: 347
Регистрация: 16-02-06
Из: г.Николаев, Украина
Пользователь №: 14 377

|
Всем привет! В NiosII используется Avalon Memory-Mapped (Avalon-MM) interfaces, как я понимаю, основанный на архитектуре с общим пространством адресов. В это пространство может включаться SRAM, DRAM, Flash, Onchip_Memory и периферия, начальные адреса, которых определены в system.h. Вопрос такой: Как средствами NiosII C/C++ отображается локализация данных в разных областях памяти? Например, один массив переменных нужно разместить в SRAM, другой массив констант во Flash и т.п., а обращаться к этим данным через указатели. Работая с компиляторами для микроконтроллеров архитектур 51, 196 и AVR, заметил, что для каждого описаны свои способы локализации, а для NiosII С/С++ подобного описания что-то не нахожу… Может кто подскажет, где это описано или приведет примеры.
|
|
|
|
|
 |
Ответов
|
Jun 19 2008, 16:55
|
carpe manana
  
Группа: Свой
Сообщений: 321
Регистрация: 2-06-05
Пользователь №: 5 659

|
Почему бы не сделать просто: Код #include <system.h>
char *foo_CONST = DDR_BASE; unsigned int *foo_data = ONCHIP_BASE;
foo_CONST[0] = 0x0; foo_CONST[3] = 0x3;
foo_data [0] = 0x1234; foo_data [123] = 0xABCD;
|
|
|
|
|
Jun 19 2008, 17:47
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266

|
Цитата(id_gene @ Jun 19 2008, 20:55)  Почему бы не сделать просто: Код #include <system.h>
char *foo_CONST = DDR_BASE; unsigned int *foo_data = ONCHIP_BASE;
foo_CONST[0] = 0x0; foo_CONST[3] = 0x3;
foo_data [0] = 0x1234; foo_data [123] = 0xABCD; A а если bsp builder по ONCHIP_BASE разместил код или стек?
|
|
|
|
|
Jun 20 2008, 07:46
|
carpe manana
  
Группа: Свой
Сообщений: 321
Регистрация: 2-06-05
Пользователь №: 5 659

|
Цитата(cms @ Jun 19 2008, 21:47)  A а если bsp builder по ONCHIP_BASE разместил код или стек? Ну я, естественно, имел ввиду, что разработчик знает, где у него что лежит и хочет положить свой массив данных в конкретную пустую область конкретной памяти. Как располагать функции в нужных секциях написано в Sw developer book в главе Memory Usage/Memory Sections. Можно ли управлять таким же образом массивами данных?
|
|
|
|
Сообщений в этой теме
Волощенко NiosII, C/C++. Jun 19 2008, 10:00 Stewart Little Попробуйте поискать в направлении сегменотв памяти... Jun 19 2008, 10:43 Kuzmi4 2 Волощенко - а не проще ли наваять на асме свою п... Jun 19 2008, 11:50 Волощенко Вот, например, в Keil C51 есть такие виды памяти: ... Jun 19 2008, 12:39 cms каждому сегменту памяти типа .text/.data/.code мож... Jun 19 2008, 12:58 torik А что, указать локализацию в свойствах проекта не ... Jun 19 2008, 17:50 vadimuzzz все компоненты системы на базе ниоса memory-mapped... Jun 20 2008, 00:15 Kuzmi4 2 vadimuzzz - это я собсно и имелл ввиду.
2 Волощ... Jun 20 2008, 07:03 Harbour Стандартная тема, на форуме сплошь и рядом обсужда... Jun 20 2008, 07:13 Kuzmi4 2 Волощенко - не забудьте поделится результами - с... Jun 20 2008, 09:51 608 Да, уточните... Jun 20 2008, 11:51 Волощенко Цитата(Kuzmi4 @ Jun 20 2008, 12:51) 2 Вол... Jun 20 2008, 12:13 Kuzmi4 Атрибуты спасли ситуацию
2 Волощенко -
Касательно... Jun 20 2008, 12:23 Волощенко Цитата(Kuzmi4 @ Jun 20 2008, 15:23) Вы эт... Jun 20 2008, 15:22 Kuzmi4 Ага, на сколько я понял, то нужно добавить в систе... Jun 21 2008, 11:16 yura-w Цитата(Волощенко @ Jun 19 2008, 14:00) Ка... Jul 22 2008, 09:32 Волощенко Цитата(yura-w @ Jul 22 2008, 12:32) ... Jul 23 2008, 16:37  vadimuzzz Цитата(Волощенко @ Jul 23 2008, 23:37) Во... Jul 24 2008, 07:35 Kuzmi4 2 vadimuzzz - будьте так добры, тыканите носом в п... Jul 24 2008, 11:09
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|