реклама на сайте
подробности

 
 
18 страниц V  « < 15 16 17 18 >  
Reply to this topicStart new topic
> Хочу попробовать ARM, подскажите, что для этого нужно?, Какой проц выбрать, отлад. платку и какой софт?
umup
сообщение Feb 4 2007, 12:13
Сообщение #241


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



Зачем в 1000й раз выдумывать самокат, пользуйте стандарт - в stdint.h есть определения int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t - и не будут возникать проблемы при переносе на разные архитектуры когда "писатель" в одном случае использует int как 32-битный, потом оказывается на другом контроллере/компиляторе что это 16-бит, возникают непонятные ошибки в вычислениях, переполнения, и тратится куча времени на поиск ошибок, переопределение типов и т.д...
Непонятно только почему многие не понимают что char,int,long давно пора перестать использовать ?

Сообщение отредактировал umup - Feb 4 2007, 12:22
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 4 2007, 13:08
Сообщение #242


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(umup @ Feb 4 2007, 11:13) *
Зачем в 1000й раз выдумывать самокат, пользуйте стандарт - в stdint.h есть определения int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t

И там-же еще int_least8_t .... uint_least32_t, int_fast8_t ..... uint_32fast_t
Как-бы проблем с 1999 года вообще нет - ну просто на все случаи жизни smile.gif
Только глазами о такую хрень спотыкаешься sad.gif и набирать с души воротит.
Цитата
Непонятно только почему многие не понимают что char,int,long давно пора перестать использовать ?

А потому, что на самом деле и с ними de-facto проблем НЕТ, кроме обсасываемой здесь одной единственной - int на 8bit платформе. Ну и еще того, что char может быть по умолчанию, как знаковым, так и нет (но это слава богу обычно компиляторам можно в командной строке указать)

Посему все эти intXX_t полностью соответствуют в привычным, коротким и читаемым
char ( uchar, BYTE ) short( ushort, WORD ) long ( ulong, DWORD )
Ну а int ( uint ) в большинстве случаев прекрасно справляется с обязанностями всяких int_least8_t .... int_least32_t, int_fast8_t ..... int_fast32_t.
Главное действительно перестать использовать его где попало sad.gif и как попало sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
umup
сообщение Feb 4 2007, 14:31
Сообщение #243


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 2-06-06
Пользователь №: 17 720



и что, все эти uchar, BYTE, WORD, DWORD, u8, i16, UI32 определены для каждого компилятора во всех библиотеках ? На практике чаще всего встречается что каждый в своих библиотеках определяет типы как попало, это мешает чтению больше чем int8_t, uint8_t. И написать uint8_t быстрее чем unsigned char.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 4 2007, 15:24
Сообщение #244


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(umup @ Feb 4 2007, 13:31) *
и что, все эти uchar, BYTE, WORD, DWORD, u8, i16, UI32 определены для каждого компилятора во всех библиотеках ? На практике чаще всего встречается что каждый в своих библиотеках определяет типы как попало

"все эти" лично у меня идут в отдельном header и максимум, что ВДРУГ может потребоваться посмотреть header и если ВДРУГ для какого-то экзотичного компилятора потребуется - подправить.
А вот правильный header c вышеупомянутыми типами может и не быть в составе "каждого компилятора"
sad.gif.
Цитата
это мешает чтению больше чем int8_t, uint8_t. И написать uint8_t быстрее чем unsigned char.

Дело исключительно привычки. К счастью язык достаточно живой и позволяет несколько облегчить жизнь не только абстрактному программисту, но и себе любимому smile.gif
Посему у меня там разных своих типов вместо безликих 8-16-32 битных много определено и унионов, и структур - для удобства чтения и недопущения ошибок. Так-что несколько uxxx со товарищами погоду не делают. Надеюсь Вы не будете возражать против своих типов и не будете требовать сводить все
к безликим 8-15-32-64 с целью "не мешать чтению".

То, где однозначно напрашиваюется использование типов из C99, это конечно публикация кусков текстов относящихся к более-менее абстрактным областям программирования - иначе говоря "книжки", исходники уровня clib, ......


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
fredo
сообщение Oct 24 2007, 18:59
Сообщение #245


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Ну вот и я решил влиться в ряды армоводов. Купил плату от olimex'a, скачал с сайта пример - моргание светодиодов на плате. Решил залить по usb. Я так понимаю через samba можно загружать только файлы с расширением .bin ??? Вопрос, как получить в IARe bin ?

Сообщение отредактировал fredo - Oct 24 2007, 19:00
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 24 2007, 19:31
Сообщение #246


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Options-Linker-Output Format-other-raw-binary
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 24 2007, 19:49
Сообщение #247


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(zltigo @ Feb 4 2007, 17:08) *
Посему все эти intXX_t полностью соответствуют в привычным, коротким и читаемым
char ( uchar, BYTE ) short( ushort, WORD ) long ( ulong, DWORD )
Ну а int ( uint ) в большинстве случаев прекрасно справляется с обязанностями всяких int_least8_t .... int_least32_t, int_fast8_t ..... int_fast32_t.
Главное действительно перестать использовать его где попало sad.gif и как попало sad.gif.

Цитата(zltigo @ Oct 19 2007, 11:31) *
Для ARM платформы эффект будет много меньше, зато замена многочисленных byte заточенных под 8-bit платфору на естественные int (или, что много более правильно uint_least8_t ) скажется потрясающе благотворно. Зато то-же действие для x86 платформы будет по барабану.

zltigo, Вы однако, уже определитесь... wink.gif
Go to the top of the page
 
+Quote Post
fredo
сообщение Oct 24 2007, 19:56
Сообщение #248


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Цитата
Options-Linker-Output Format-other-raw-binary

ставил так, не помогло, с светодиодами ничего не происходило. Хотя готовый бинарник с сайта работает
Go to the top of the page
 
+Quote Post
DASM
сообщение Oct 24 2007, 20:02
Сообщение #249


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



А Flash Release выбрана конфигурация ? Подазабыл, может в Атмеле еще какие-то телодвижения нужны, все более по LPC копаюсь
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 24 2007, 20:03
Сообщение #250


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(singlskv @ Oct 24 2007, 22:49) *
zltigo, Вы однако, уже определитесь... wink.gif

Там еще выше было:
Цитата
C постепенным уходом даже из embedded восьмибитных контроллеров ....
....
int становится НОРМАЛЬНО применимым типом. Именно по этой причине, полагаю, и ранее упомянутые типы введеные С99 никому нахрен и не понадобилитсь, ибо int он и есть тот самый и "не менее X" и "быстрый".


Где протворечие, хоть какое-то, Вам увидеть удалось?
int эффективный тип хорошо работающий не на 8-bit платформах, на коих приходится для эффективности явно указывать везде, где можно явно 8-bit типы. Использование явных 8-bit типов на ARM платформах крайне не желательно. Для x86 - безразлично, если конечно они не в пакованных невыровненных структурах. Если ориентироваться на портирование на 8-bit, то тогда правильным является ... least8_t
Вторая приведенная Вами цитата из темы портирования AVR исходника.
Вопросы?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 24 2007, 20:18
Сообщение #251


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(zltigo @ Oct 25 2007, 00:03) *
Где протворечие, хоть какое-то Вам увидеть удалось?
int эффективный тип хорошо работающий не на 8-bit платформах, на коих приходится для эффективности явно указывать везде, где можно явно 8-bit типы. Использование явных 8-bit типов на ARM платформах крайне не желательно. Для x86 - безразлично, если конечно они не в пакованных невыровненных структурах. Если ориентироваться на портирование на 8-bit, то тогда правильным является ... least8_t
Вопросы?

На 8 бит платформах (например AVR которым Вы не пользуетесь из-за большой нелюбви к
Atmel) int 16 бит.
На MSP430(которым вы пользуетесь, судя по Вашим постам) int тоже 16 бит smile.gif

Дык как обстоит дело с портированием на 16бит платформы ?
и в частности на MSP430 ? нужно использовать least8_t, или все-таки как-то по другому ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 24 2007, 20:43
Сообщение #252


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(singlskv @ Oct 24 2007, 23:18) *
На 8 бит платформах (например AVR которым Вы не пользуетесь из-за большой нелюбви к
Atmel) int 16 бит.

Не надо передергивать - я не пользуюсь AVR, поскольку для контроллеров ценовой категории от нескольких баксов применение AVR может быть обусловленно только каким-то специфическим свойством, типа высокой нагрузочной способностью по выходам. По той-же самой причине я уже не пользуюсь 51 контроллерами в том числе и "любимого" NXP. Совершенно ничего личного
По причине почти полного отказа от 8-bit польза от ...least8_t для меня сильно снижена.
Цитата
На MSP430(которым вы пользуетесь, судя по Вашим постам) int тоже 16 бит smile.gif
Дык как обстоит дело с портированием на 16бит платформы ?
и в частности на MSP430 ? нужно использовать least8_t, или все-таки как-то по другому ?

По причине очень больших наработок и привычек именно к 16-bit я в своих исходниках рассчитываю на int размерностью не более 16-bit. Для 32-bit (как и 64-bit) всегда использую явные указания. В таком применении проблемы портирования 16<->32 нет. На 8-bit c 16/32 бит лично я портирую мало, исходники ввиду использования мелких восьмибитовиков невелики и тогда уже их по необходимости правлю под универсальные типы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Oct 24 2007, 21:10
Сообщение #253


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(zltigo @ Oct 25 2007, 00:43) *
Не надо передергивать - я не пользуюсь AVR, поскольку для контроллеров ценовой категории от 5 баксов применение AVR может быть обусловленно только каким-то специфическим свойством, типа высокой нагрузочной способностью по выходам. По той-же самой причине я уже не пользуюсь 51 контроллерами в том числе и "любимого" NXP. Совершенно ничего личного
для примера mega8 от 5 баксов biggrin.gif biggrin.gif biggrin.gif
Ну и кто из нас передергивает ?
Тока не нужно расказывать про контроллер светодиодов, ладно ?
Цитата
По причине очень больших наработок и привычек именно к 16-bit я в своих исходниках рассчитываю на int размерностью не более 16-bit. Для 32-bit (как и 64-bit) всегда использую явные указания.
Эээ... ну тогда поясните мне какие проблемы могут возникнуть при портировании с/на
8 бит архитектуру если int у Вас всегда не больше 16 бит ?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 24 2007, 21:40
Сообщение #254


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(singlskv @ Oct 25 2007, 00:10) *
для примера mega8 от 5 баксов biggrin.gif biggrin.gif biggrin.gif
Ну и кто из нас передергивает ?

Чего-то Вам глаза застилает sad.gif. Повторяю медленно и печально - в ценовой категории контроллеров стоимостью порядка 5 баксов и выше применение AVR8 становится нецелесообразным.
Цитата
Тока не нужно расказывать про контроллер светодиодов, ладно ?

Не буду - я их не делаю, но совершенно уверен, что их пока еще дешевле делать на даже не самом дешевом 8-bit, нежели на самом дешевом ARM. Какие проблемы?
Цитата
Эээ... ну тогда поясните мне какие проблемы могут возникнуть при портировании с/на
8 бит архитектуру если int у Вас всегда не больше 16 бит ?

В собственно тупом портировании - никаких, а вот с эффективностью проблемы. На восьмибитовике какой-нибудь банальный счетчик цикла без всякой на то надобности будет прокручиваться в двух регистрах или в двух ячейках памяти, или занимать регистровую пару.... Попробуйте в обсуждаемом ранее AES алгоритме поменять byte на int - вопросы отпадут. Попробуйте откомпилировать с замененными на int под ARM - положительный эффект подскажет ответ на обратный вопрос.
При портировании int на 32-bit - ну ровным счетом никаких проблем, о чем и писал уже несколько раз.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
toshas
сообщение May 6 2008, 16:53
Сообщение #255


Местный
***

Группа: Свой
Сообщений: 372
Регистрация: 14-02-06
Пользователь №: 14 339



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

теперь о примерах к книжке:
купил, попытался запустить, напоролся на теже грабли, понял что книжка lpc2000 является простым переводом книжки insiders guide и примеры в них одинаковые, скачал примеры к оригиналу и они-то как раз скомпилились нормально ( http://rapidshare.de/files/39331428/lpc210...amples.zip.html ).
Go to the top of the page
 
+Quote Post

18 страниц V  « < 15 16 17 18 >
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016