Перейти к содержанию
    

Память таже, и количество тоже. Может у меня VIsualDSP 4.5 глючный и к нему надо патч закачать? Или другую версию попробовать?

 

У меня тоже VIsualDSP 4.5, мне кажеться у вас дело не в студии. Попробуйте пересоздать проект.

 

А как поместить ether_stack_block[] в некэшируемый блок памяти?

 

Выше int system_init() ставите:

#pragma align 4

section("MEM_Ethernet_pool")

char ether_stack_block[ETHER_STACK_SIZE];

 

закоментируйте //ether_stack_block = (char *) malloc ( ETHER_STACK_SIZE ); в самой функции

 

затем в ldf файле, за надписью /* This code is preserved if the LDF is re-generated. */

выделяете память под стек:

mem_ethernet_stack_pool { TYPE(RAM) START(0x03c00000) END(0x03ffffff) WIDTH(8) }

 

и ниже после надписи: /* This code is preserved if the LDF is re-generated. */

пишете:

MEM_Ethernet_pool

{

INPUT_SECTION_ALIGN(4)

INPUT_SECTIONS( $OBJECTS(MEM_Ethernet_pool)$LIBRARIES(MEM_Ethernet_pool))

} > mem_ethernet_stack_pool

 

затем в cplbtab.c прописываем чтоб адресса где расположен mem_ethernet_stack_pool не кэшировались:

ниже // CPLBs covering 64MB

вместо {0x03c00000, (PAGE_SIZE_4MB | CPLB_IDOCACHE)}, ставим {0x03c00000, (PAGE_SIZE_4MB | CPLB_INOCACHE)}.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

уменя линковчик заматерился на

mem_ethernet_stack_pool { TYPE(RAM) START(0x03c00000) END(0x03ffffff) WIDTH(8) }

MEM_Ethernet_pool

{

INPUT_SECTION_ALIGN(4)

INPUT_SECTIONS( $OBJECTS(MEM_Ethernet_pool)$LIBRARIES(MEM_Ethernet_pool))

} > mem_ethernet_stack_pool

 

[Error el1010] "pr3.ldf":153 Parsing error: Expected a linker description file command [MEMORY | PROCESSOR | PLIT | SHARED_MEMORY | DYNAMIC | ARCHITECTURE | $Macro | INCLUDE]

 

[Error el1011] "pr3.ldf":153 Syntax error (missingToken): 'mem_ethernet_stack_pool' was unexpected

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выше mem_ethernet_stack_pool { TYPE(RAM) START(0x03c00000) END(0x03ffffff) WIDTH(8) }

надо отгрызть память от MEM_SDRAM0_BANK3 тоесть вот так:

 

MEM_SDRAM0_BANK3 { TYPE(RAM) START(0x03000000) END(0x03bfffff) WIDTH(8) }

mem_ethernet_stack_pool { TYPE(RAM) START(0x03c00000) END(0x03ffffff) WIDTH(8) }

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня нет файла cplbtab.c и нет файла с {0x03c00000, (PAGE_SIZE_4MB | CPLB_IDOCACHE)}

Такой ещё вопрос каким значением должен быть прописан MAC адрес?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой ещё вопрос каким значением должен быть прописан MAC адрес?

MAC можно брать любой свободный (например 00eeaa0000) главное чтоб первые две цифры были 00, перечень занятых адресов можно посмотреть в инете.

 

У меня нет файла cplbtab.c и нет файла с {0x03c00000, (PAGE_SIZE_4MB | CPLB_IDOCACHE)}

 

файл называться должен так "Названиепроекта_cplbtab.c" генерируеться он автоматически после установки в опциях проекта в разделе Cache and Memory protection следующих настроек:

Enable instruction cache

Enable data cache Bank1

галочку в поле Generate a customizable CPLB table

и точечку в Write-yhrough cache

 

и ещо когда все сделаете не забудьте поставить в External Memory точечку на custom, а то все что вы писали в ldr файле прикомпеляции замениться на стандартное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я наверное что-то не так сделал. Настройки памяти держатся 1 компиляцию. Потом настройки памяти слетают. Галочка стоит.

Имеет ли значение куда я загружаю программу (0х1000000)?

Такой ещё вопрос section оказывает влияние только на данные или на функции тоже?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я наверное что-то не так сделал. Настройки памяти держатся 1 компиляцию. Потом настройки памяти слетают. Галочка стоит.

Когда все сделаете не забудьте поставить в External Memory точечку на custom, а то все что вы писали в ldr файле прикомпеляции замениться на стандартное. Точно сделали?

 

Имеет ли значение куда я загружаю программу (0х1000000)?

 

Ваще не понял вопроса: 0х1000000 это ведь помоему адресс в SDRAM

 

Такой ещё вопрос section оказывает влияние только на данные или на функции тоже?

 

какая section?, если вы имеете в виду секцию со стеком то она влияет только на работу сети, если не отключить кэш, то будет не стабильная работа с сетью.

P.S.

Купите, или одолжите у кого нить JTAG.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ciyoha благодарям вам UART завёлся.

Я гружу свою программу через ubut

tftp 0x1000000 имя

запускаю bootelf 0x1000000

так сказали кто писал на этой плате под линукс. (они были приходящие и теперь не работают)

JTAG я достать могу, как мне его использовать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С исчезновением настроек памяти я разобрался.

Теперь программа стала виснуть раньше как раз в инициализации стека.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет не нашёл. Виснет она в инициализации драйвера. Что там такого делается? Что у меня не так.?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...