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

Молодой_специалист

Участник
  • Постов

    16
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Молодой_специалист

  • Звание
    Участник
    Участник
  • День рождения 08.09.1982

Контакты

  • ICQ
    Array

Информация

  • Город
    Array
  1. Приветсвую Вас коллеги!!!! Начал осваивать контроллеры семейства Kinetis от Freescale. Есть необходимость оюновления ПО в микроконтроллере, поэтому решил прибегнуть у разбиению памяти. Работаю в Keil uvision 4.73. Столкнулся с такой проблемой что все мои инструкции по размещению либо не обрабатываются, либо обрабатываются как-то неправильно. Хочу часть функций разместить в секции work_rom, которую и буду в будущем перезаписывать. Привожу распечатку scatter-файла LR_IROM1 0x00000000 0x00040000 { ; load region size_region ER_IROM1 0x00000000 0x00010000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } ER_IROM2 0x00010000 0x00030000 { ; load address = execution address main.o (+RO) * (work_rom) } RW_IRAM1 0x1FFF8000 0x00008000 { ; RW data .ANY (+RW +ZI) } RW_IRAM2 0x20000000 0x00008000 { .ANY (sram2) } } LR_IROM2 0x10000000 0x00030000 { ; load region size_region ER_IROM3 0x10000000 0x00030000 { ; load address = execution address .ANY (work_rom2) } } Линкер ошибок не выдает. В МАР-файле все пучком - все функции лежат по правильным секциям, НО в AXF-файле нет ничего что касается секции work_rom. Более того, прямое размещение константы по указанному адресу дает тот же эффект. Самое интересное что ничего подобного при работе с контроллерами LPC2xxx я не видел. Хотелось бы понять что я делаю неправильно??? Проблема решилась самостоятельно. Надо было вынести раздел в отдельный загрузочный блок. на всякий случай привожу текст рабочего scatter-файла ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x00000000 0x00010000 { ; load region size_region ER_IROM1 0x00000000 0x00010000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x1FFF8000 0x00008000 { ; RW data .ANY (+RW +ZI) } RW_IRAM2 0x20000000 0x00008000 { .ANY (sram2) } } LR_IROM2 0x00010000 0x00030000 { ; load region size_region ER_IROM2 0x00010000 0x00030000 { ; load address = execution address main.o (+RO) .ANY (work_rom) } } LR_IROM3 0x10000000 0x00030000 { ; load region size_region ER_IROM3 0x10000000 0x00030000 { ; load address = execution address .ANY (work_rom2) } }
  2. Пока все глухо... скачал пару вариантов - запаролены((((
  3. Пока ни разу до конца не закачал... нашел 2 источника (один на megaupload.com второй на 4share.com), третий поерял((( Как скачаю с радостью выложу если расскажете как...
  4. Вторая в свободном доступе есть во многих местах. Первая лежит тут: http://avaxhome.ws/ebooks/programming_deve...chitecture.html
  5. Если кому интересно, то знающие люди посоветовали почитать следующую литературу: 1) TCP/IP ARCHITECTURE, DESIGN,AND IMPLEMENTATION IN LINUX, Sameer Seth M. Ajaykumar Venkatesulu 2) Understanding Linux Network Internals, Christian Benvenuti (O'Reilly)
  6. Спасибо. Я уже на ebtables через предыдущую ссылку вышел. Начальство еще не все задачи раскрыло, сказало пока в суть работы моста вникнуть. Похоже что-то подобное придется крапать.
  7. Не знаю найду там решение или нет, но за ссылочку СПАСИБО - однозначно в пользу пойдет. Буду ждать еще ответов - может кто сходу еще решение подскажет.
  8. Здравствуйте! Есть необходимость в реализации достаточно специфичного маршрутизатора. Поэтому хочется понять исходные коды сетевого моста, чтобы его доработать. Подскажите есть ли дельная литература на эту тему. Или если можно на пальцах объясните как решить мою задачу. В исходниках пока ничего дельного не наковырял, т.е. не нашел место для своего специфичного кода.
  9. Может стоит попробовать самому все сделать, но при общей поддержке??? Ничего сложного тут нет, надо просто захотеть и немного постараться...
  10. Мне кажется, что зарплата маловата чтобы много желающих было...
  11. Под линух тут http://www.codesourcery.com/sgpp/lite/arm/...ubscription3057 прогугли "arm toolchain" может что-нить найдешь подходящее под винду. Под винду наверно тут http://www.gnuarm.com можно посмотреть, только старое все
  12. Ну CCS пользуюсь только чтобы загрузчик на флешку вкатить. Сначала тоже непривычно с командной строкой было, но это быстро исправляется. Так или иначе с командной строкой все равно работать придется и в загрузчике ну и в линухе конечно. U-boot тут http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=summary поищите. В качестве связи между ARM и DSP пользую dsplink(на сайте TI он есть в доступе). Виртуальная машина сделана на VirtualBox в качестве операционки стоит Ubuntu, но тут в принципе любой линух поставить можно. Так что посоветовать ничего не могу потому как ничем особенно не пользовался. Ну наверно и то и другое потребуется - в конечном итоге и cgtools нужны будут и dspbios, которые входят в состав первого пакета, ну и ccs пригодится если отлаживаться через jtag будете.
  13. Разработчиков у нас в стране много... только опытные уже сидят по теплым местам, а молодеж никто учить не хочет. К тому же хороший разработчик к 30-35 годам уже начальником становится. Надо студентов привлекать, я так начинал... на пол ставки, а потом пошло поехало...
  14. Честно говоря, про gcc под винду ничего не знаю толком. Собираю все либо на виртуалке либо в линухе. В качестве стартового кода поковырялся в загрузчике, ну а потом уже в линукс полез. Про USB ничего не могу сказать - на высоком уровне работаю через ethernet, а на низком если прижмет через УАРТ. В загрузчике особых знаний не требуется - почти весь код читаемый. А вот с Линухом посложнее. Надо иметь представление о модулях ядра если свои дрова потребуются, хотя если железо более менее стандартное то и этого может не потребоваться. Тогда только пользовательское приложение писать потребуется, а там все стандартно открыть устройство, настроить, читать и писать.... Ссылки все из гугла доставал и на тулчаин и на загрузчик, ну а ядро с kernel.org тянул.
×
×
  • Создать...