LPC2138 (PHILIPS)

32-битные ARM-совместимые микроконтроллеры (AT91, ARM7, ARM9), а также микропроцессоры вплоть до ARM64

Moderator: Shaos

d_wanderer
Senior
Posts: 180
Joined: 28 Feb 2006 21:34

Post by d_wanderer »

Shaos wrote:Я использовал GCC под Linux. Программа надёрганная в интернете по частям вроде собиралась, прошивалась, но не работала...
Не знаю. Можно ли глянуть на него? Если загрузчик запускается то совершенно точно дело в неправильно написанной программе.
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

d_wanderer wrote:
Shaos wrote:Я использовал GCC под Linux. Программа надёрганная в интернете по частям вроде собиралась, прошивалась, но не работала...
Не знаю. Можно ли глянуть на него? Если загрузчик запускается то совершенно точно дело в неправильно написанной программе.
В том то и дело что правильно написанные программы например для KEIL никак не собираются в GCC - теже примеры с сайта Olimex не на GCC рассчитаны. А для GCC еще где-то надо брать H-файлы для конкретного чипа и писать LD файл для ROM и для RAM вариантов. Вобщем муть...
Я тут за главного - если что шлите мыло на me собака shaos точка net
d_wanderer
Senior
Posts: 180
Joined: 28 Feb 2006 21:34

Post by d_wanderer »

Shaos wrote:В том то и дело что правильно написанные программы например для KEIL никак не собираются в GCC - теже примеры с сайта Olimex не на GCC рассчитаны. А для GCC еще где-то надо брать H-файлы для конкретного чипа и писать LD файл для ROM и для RAM вариантов. Вобщем муть...
В принципе так оно и есть. Хотя Keil в этом отношении значительно удобнее (чем тот же IAR). ВО первых среда uVision позволяет корректно сформировать crt0.S. Во вторых поддерживается два компилятора - собственный и GCC. Наконец, в третьих, можно под симулятором запусить и проверить - будет ли работать. Я так понял чтоя Keil'а нет. :( Нестрашно. В дистрибутиве WinArm есть работоспособный пример под 2138. Попробуйте залезть на http://gandalf.arubi.uni-kl.de/avr_proj ... _projects/ и скачать
дистрибутив WINARM. В нем есть пример с требуемыми ld и h файлами. Я проверил под симулятором работу.
А можно просто скачать примеры http://gandalf.arubi.uni-kl.de/avr_proj ... c_uart_irq
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

d_wanderer wrote:
Shaos wrote:В том то и дело что правильно написанные программы например для KEIL никак не собираются в GCC - теже примеры с сайта Olimex не на GCC рассчитаны. А для GCC еще где-то надо брать H-файлы для конкретного чипа и писать LD файл для ROM и для RAM вариантов. Вобщем муть...
В принципе так оно и есть. Хотя Keil в этом отношении значительно удобнее (чем тот же IAR). ВО первых среда uVision позволяет корректно сформировать crt0.S. Во вторых поддерживается два компилятора - собственный и GCC. Наконец, в третьих, можно под симулятором запусить и проверить - будет ли работать. Я так понял чтоя Keil'а нет. :( Нестрашно. В дистрибутиве WinArm есть работоспособный пример под 2138. Попробуйте залезть на http://gandalf.arubi.uni-kl.de/avr_proj ... _projects/ и скачать
дистрибутив WINARM. В нем есть пример с требуемыми ld и h файлами. Я проверил под симулятором работу.
А можно просто скачать примеры http://gandalf.arubi.uni-kl.de/avr_proj ... c_uart_irq
Моим набором GCC для ARM вроде компилируется, но при линковке требует либу newlib-lpc, которой у меня нет (у меня просто newlib).

P.S. Убрал упоминание newlib из Makefile и собралось
Я тут за главного - если что шлите мыло на me собака shaos точка net
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote: Моим набором GCC для ARM вроде компилируется, но при линковке требует либу newlib-lpc, которой у меня нет (у меня просто newlib).
Попробуй эту newlib найти по фтп любым поисковиком. Вроде ссылок много выдает. Это как я понял - порт libc под ARM ? Или я ошибаюсь ?
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

SfS wrote:
Shaos wrote: Моим набором GCC для ARM вроде компилируется, но при линковке требует либу newlib-lpc, которой у меня нет (у меня просто newlib).
Попробуй эту newlib найти по фтп любым поисковиком. Вроде ссылок много выдает. Это как я понял - порт libc под ARM ? Или я ошибаюсь ?
newlib-lpc это порт newlib на LPC :)

P.S. Кстати наличие отдельной либы для LPC версии ARM несколько ломает устоявшееся мнение о том, что юзая ARM мы не зависим от конкретного производителя, т.к. де ARM-ы делают многие - получается что это несколько неправда...
Я тут за главного - если что шлите мыло на me собака shaos точка net
d_wanderer
Senior
Posts: 180
Joined: 28 Feb 2006 21:34

Post by d_wanderer »

Shaos wrote: newlib-lpc это порт newlib на LPC :)

P.S. Кстати наличие отдельной либы для LPC версии ARM несколько ломает устоявшееся мнение о том, что юзая ARM мы не зависим от конкретного производителя, т.к. де ARM-ы делают многие - получается что это несколько неправда...
Нет. Все не совсем так. ))) Точнее все не так. Насамом деле newlib это всего лишь специфическая заглушка которая позволяет использовать в качестве стандартных потоковых устройств в C такие устройства как uart, spi, i2c и т.п.
Ну как, заработало?
SfS
Doomed
Posts: 491
Joined: 16 Apr 2005 22:35
Location: Томск

Post by SfS »

Shaos wrote:Кстати наличие отдельной либы для LPC версии ARM несколько ломает устоявшееся мнение о том, что юзая ARM мы не зависим от конкретного производителя, т.к. де ARM-ы делают многие - получается что это несколько неправда...
Тут наверное портирование заключается в оптимизации под конкретную перефирию ?
User avatar
Shaos
Admin
Posts: 24008
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

d_wanderer wrote:
Shaos wrote: newlib-lpc это порт newlib на LPC :)

P.S. Кстати наличие отдельной либы для LPC версии ARM несколько ломает устоявшееся мнение о том, что юзая ARM мы не зависим от конкретного производителя, т.к. де ARM-ы делают многие - получается что это несколько неправда...
Нет. Все не совсем так. ))) Точнее все не так. Насамом деле newlib это всего лишь специфическая заглушка которая позволяет использовать в качестве стандартных потоковых устройств в C такие устройства как uart, spi, i2c и т.п.
Ну как, заработало?
Я пока не пробовал. Меня смутило, что оно успешно собралось после того как я отключил в Makefile опцию -lnewlib-lpc - зачем оно тогда? Или оно собралось, но не будет работать поэтому?

P.S. Я скачал исходники newlib-lpc но с ходу не въехал как из них собрать либу libnewlib-lpc :(
Я тут за главного - если что шлите мыло на me собака shaos точка net
d_wanderer
Senior
Posts: 180
Joined: 28 Feb 2006 21:34

Post by d_wanderer »

Shaos wrote:Я пока не пробовал. Меня смутило, что оно успешно собралось после того как я отключил в Makefile опцию -lnewlib-lpc - зачем оно тогда? Или оно собралось, но не будет работать поэтому?

P.S. Я скачал исходники newlib-lpc но с ходу не въехал как из них собрать либу libnewlib-lpc :(
А оно тебе надо? Использовать newlib? Все работает и без этой заглушки. Кстати и пример для использования newlib должен быть написан по другому. Так что не сомневайся!!!! :evil: