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

1. А какая причина использовать для сборки линукса виндоуз?

Да собственно линукс-то в данном проекте собирать и не нужно, всего лишь приложеньице под него :biggrin:

 

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


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

Да собственно линукс-то в данном проекте собирать и не нужно, всего лишь приложеньице под него :biggrin:

Тогда цигвина может быть достаточно.

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


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

У меня такой вопрос: можно ли, и главное - как, прикрутить к eclipse справку по gcc? Примерно как в Keil: по ctrl+f1 выдаёт совпадение по ключевым словам в существующих файлах справки.

Аналогично хочется видеть нечто подобное и для eclipse+gcc, может хоть в online ссылаться - лишь бы было интегрированно.

Например, я вот хочу узнать, что за разделы .section и как с ними работать, или даже банально узнать типы данных и разрядность под архитектуры - вызвать справку по long и т.п. Есть же что-то такое в природе?

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


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

формально это ответ на ваш вопрос но.... понравится ли Вам?

в меню внешних тулсов добавить вызов

firefox.exe http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc.pdf

firefox.exe http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/

 

далее моя мысль не пошла, мне этого хватает

 

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


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

новые сборки компиляторов с некоторых пор идут с arm-none-eabi-gcc

А какая между ними разница и почему-зачем разнообразие:

gcc

arm-none-eabi-gcc

arm-linux-gcc

... ... (не хочется замусоривать текст сообщения)

 

Понятно, что gcc - это GNU, arm-none-eabi-gcc - это Codesourcery, а arm-linux- arm-angstrom-linux - есть gnuarm, yagarto, angstrom и иже с ими.

Догадываюсь, что хотя написано, что gcc от GNU генерирует код для arm, но на самом деле это не совсем так (пробовал).

Читал (codesourcery), что arm-eabi- - есть для голых машин, а arm-linux- - для машин с Linux ядром.

Так это или не совсем, или совсем не так?

 

Казалось бы, почему бы не быть единственному компилятору, имеющему достаточно крючков в командной строке...

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


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

я вот тоже в этом вопросе не совсем разбираюсь, голова кругом идёт :) но вообще-то по идее arm-linux на уровне машинных кодов использует ARM инструкции, и код должен запускаться на ARM ядрах, так что мб там просто используются библиотеки какие-то специфичные линуксовые, типа например обработчики прерываний таймера заточены под таймеры линукс-ОС и тд? :)

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


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

я вот тоже в этом вопросе не совсем разбираюсь, .. но вообще-то по идее arm-linux на уровне машинных кодов использует ARM инструкции, и код должен запускаться на ARM ядрах .. ?

(шёпотом) Угу, а arm-none- должен исполняться под .NET B)

 

Занятный хинт из одного форума:

То есть примерно так: gcc от GNU работает на ядре от kernel.org, независимо от железа.

(объектный код для какой машины оно/он генерить умеет, правда, остаётся загадкой).

Изменено пользователем svss

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


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

Догадываюсь, что хотя написано, что gcc от GNU генерирует код для arm, но на самом деле это не совсем так (пробовал).

??? Это как это? Можно чуть подробнее? Как это у Вас GCC "не совсем генерировал" код для ARM?

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


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

??? Это как это? Можно чуть подробнее? Как это у Вас GCC "не совсем генерировал" код для ARM?
(ответ без претензии на глубину владения темой: я вопрос задал, а не попытался кого-то учить)

 

Я пробовал компилить GCC 4.3.4 20090804 проект для arm. Пробовал разумные варианты ключей вокруг -march.

Компилятор упорно ругался на ключ (что-то около -march=arm926, точно не помню), хотя я его честно списал из мануала.

Плюнул, взял тулчейн arm-non-gnueabi-..., получилось, с тем и живу. Вполне возможно, что просто "не вник в суть"...

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


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

Начинаю использовать gcc для программирования кортекс-м0. Появляются вопросы.

установил эклипс+cdt, поставил zylyn cdt. Собрал из исходников openocd-5.0

скачал компилятор от klen arm-kgp-eabi-20110924.

 

Но чтобы писать программу еще нужны заголовочные файлы к чипам, стартап и желательно стандартный скрипт линкера. Где это берется? Например у меня работа с чипами lpc11c14 и em773

не описывать же всю перифирию самому.

 

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


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

Но чтобы писать программу еще нужны заголовочные файлы к чипам, стартап и желательно стандартный скрипт линкера. Где это берется? Например у меня работа с чипами lpc11c14 и em773

не описывать же всю перифирию самому.

дак это же всё можно взять из примеров использования с сайта производителя, softpack какой-нибудь. тем более что у кортексов CMSYS есть, там всё стандартно.

кстати, а zylyn cdt вроде как не нужен ведь в eclipse indigo, там уже собственный cdt поддерживает hardware debugging. Сам ещё не пробовал.

Собственно тут же вопрос в зал:

- пробую openocd запускать с interface jlink (у меня mt-link), пишет что девайс не найден. openocd из последней сборки KGP под win32. Вроде помню говорили что с jlink уже можно работать. что я делаю не так?

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


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

Собственно тут же вопрос в зал:

- пробую openocd запускать с interface jlink (у меня mt-link), пишет что девайс не найден. openocd из последней сборки KGP под win32. Вроде помню говорили что с jlink уже можно работать. что я делаю не так?

Только что проверил с jlink. Коннектится, но у меня ubuntu 64 бит.

запускаю через судо так как права настаривать лень.

 

XXXXXX@ubuntu:/opt/arm-kgp-eabi/bin$ sudo ./openocd -f interface/jlink.cfg

Open On-Chip Debugger 0.6.0-dev-00084-gdaa4147 (2011-09-24-18:18)

Licensed under GNU GPL v2

For bug reports, read

http://openocd.berlios.de/doc/doxygen/bugs.html

Warn : Adapter driver 'jlink' did not declare which transports it allows; assuming legacy JTAG-only

Info : only one transport option; autoselect 'jtag'

Info : J-Link initialization started / target CPU reset initiated

Info : J-Link ARM V7 compiled Feb 15 2011 11:03:33

Info : J-Link caps 0xb9ff7bbf

Info : J-Link hw version 70000

Info : J-Link hw type J-Link

Info : J-Link max mem block 9000

Info : J-Link configuration

Info : USB-Address: 0x0

Info : Kickstart power on JTAG-pin 19: 0x0

Info : Vref = 3.280 TCK = 1 TDI = 0 TDO = 1 TMS = 0 SRST = 0 TRST = 0

Info : J-Link JTAG Interface ready

Error: An adapter speed is not selected in the init script. Insert a call to adapter_khz or jtag_rclk to proceed.

in procedure 'init'

 

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


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

С одной стороны:

SEGGER J-Link Commander V4.22f ('?' for help)
Compiled Jan 31 2011 19:09:31
DLL version V4.22f, compiled Jan 31 2011 19:09:18
Firmware: J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5
Hardware: V5.00
S/N: 11111117
OEM: IAR
VTarget = 3.339V
Info: TotalIRLen = 4, IRPrint = 0x01
Found 1 JTAG device, Total IRLen = 4:
#0 Id: 0x3F0F0F0F, IRLen: 04, IRPrint: 0x1, ARM7TDMI Core
Found ARM with core Id 0x3F0F0F0F (ARM7)
JTAG speed: 100 kHz
J-Link>

С другой стороны:

c:\DevTools\openocd>openocd -f scripts/interface/jlink.cfg
Open On-Chip Debugger 0.6.0-dev (2011-08-14-17:46)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.berlios.de/doc/doxygen/bugs.html
Warn : Adapter driver 'jlink' did not declare which transports it allows; assuming legacy JTAG-only
Info : only one transport option; autoselect 'jtag'
Error: Cannot find jlink Interface! Please check connection and permissions.
in procedure 'init'

:(

Изменено пользователем Aaron

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


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

Захотел тут через меню ExternalTools в Eclipse залить камень. Использую openocd под виноус (приходится в нем на работе сидеть :crying: )

Встала задача через .bat файл подключиться через telnet и выполнить скрипт (openocd всегда работает в фоне)

.bat это вам не shell в линукс. всякие перенаправления не работают. Нашел решение:

используем TST10.exe (Telnet Scripting Tool) google в помощь - первая ссылка.

запускаем из external tools

TST10.exe /r:telnet_script.txt

сам :telnet_script.txt:

localhost 4444
SEND "script load_firmware.tcl\m"
WAIT ">"
SEND "exit\m"

в load_firmware.tcl пишем собственно прошивку.

у меня так

echo "Load Firmware"
halt
flash write_image erase unlock ../Debug/firmware.hex 0 ihex
reset

может кому поможет ;)

 

Вопрос чисто по Eclipse: после того, как я завершаю отладку своей программы (т.е. нажимаю кнопку Terminate), в окне с исходником остается выделенной строка, на которой я прервал отладку. При переключении перспективы в "обычный" режим редактирования это выделение остается.

 

Существует ли способ это убрать? все-таки не совсем хорошо, когда отладка прекращена, а стрелочка указывает на строку и сама строка подсвечена...

если используете openocd то попробуйте при инициализации вставить определение события при отключении gdb продолжить выполнение

как-то так

#продолжить выполнение, когда отключается GDB
$_TARGETNAME configure -event gdb-detach { echo "GDB disconnect, but resume"; resume }

может поможет, у меня так стоит и ничего не вылезает

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


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

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

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

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

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

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

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

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

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

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