Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
- Embedded Linux - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
starterkit (Guest)
Добавлено 08.10.2008 15:08 Редактировалось 08.10.2008 15:08 Сообщение: 11
starterkit (Guest)

Спасибо!
Спуститься к концу Подняться к началу
bde (Guest)
Добавлено 08.10.2008 18:23 Редактировалось 08.10.2008 18:23 Сообщение: 12
bde (Guest)

В кейле попытался запустить пример выдает две ошибки:
1. .Int_RAMBlinky.axf: Error: L6218E: Undefined symbol Image$$ER_IROM1$$RO$$Length (referred from sam9260.o).
2. .Int_RAMBlinky.axf: Error: L6218E: Undefined symbol Image$$RW_IRAM1$$RW$$Length (referred from sam9260.o).
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 08.10.2008 19:23 Редактировалось 08.10.2008 19:23 Сообщение: 13
sasamy (Guest)

2Lexey
>PS. Если где не прав, поправьте меня, пжалста.

Это не вы случайно жаловались на медленную запись на mmc ? :)

Цитата
unsigned char *obuf;
obuf=(unsigned char *)malloc(SIZEBUFF);
for (int i=0;i<2048;i++)
{
obuf=(unsigned char)i;


То что вы пытаетесь указателю присвоить целое это мелочи - возможно просто при копировании пропало что-то :) Но то как вы меряете время - это шедевр :) Без поллитры не разобраться. Почему бы сразу не приводить например к типу double ?

double GetTickCount()
{
double t=0;
.....
t=tv.tv_sec + (double)(tv.tv_usec)/1e6;
return t;
}
и далее работать с ним без лишнего гемороя ?

Да - есть такая утилита в linux - time (busybox ее поддерживает). Например
#time $(cp /bin/busybox /mnt && sync)
покажет время выполнения команд (в данном случае копирование файла) но почемуто в busybox не показывает :) с одним аргументом работает но без sync будет не реальное время записи на диск а только в кэш.
#time cp /bin/busybox /mnt

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно sasamy 08.10.2008 г. в 20:42:52
Спуститься к концу Подняться к началу
Lexey (Guest)
Добавлено 08.10.2008 20:34 Редактировалось 08.10.2008 20:34 Сообщение: 14
Lexey (Guest)

2 sasamy
Точно, почему-то пропало при копировании, конечно же
obuf[i]=(unsigned char)i;
в архиве правильно, да и не скомпилится иначе. Это чтоб хоть чем-то заполнить буфер.

Про double - не знаю, это разве не 64 бита с плавающей точкой ? Опять же GetTickCount() всегда в винде была unsigned long, привычка.

С busybox я впервые столкнулся, и что он поддерживает, а что нет для меня пока загадка. Измерить скорость записи мне надо было на большом файле 10МБ, 20МБ, измерять простое копирование - надо учитывать скорость чтения. Я по прежнему жалуюсь на медленную запись, пока больше 600 кБайт/сек получить не удалось, эта же SD в винде пишется в 2.6 МБайт/сек, несправедливо как-то. :)
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 08.10.2008 20:51 Редактировалось 08.10.2008 20:51 Сообщение: 15
sasamy (Guest)

2Lexey
Про double я имел ввиду ф-ция сразу возвращает время в секундах с точностью до микросекунд, тогда потом не надо будет мудрить с преобразованиями а отображать как соответсвующий тип double в printf - но это конечно слишком оптимистично, дай бог в сотых не ошибется без реалтайм патчей :) Вообще у меня тоже скорость примерно такая - я не разбирался, возможно драйвер с карточками в режиме spi работает.
Спуститься к концу Подняться к началу
Lexey (Guest)
Добавлено 08.10.2008 21:15 Редактировалось 08.10.2008 21:15 Сообщение: 16
Lexey (Guest)

2sasamy
Проверял осцилом - энергично дрыгает всеми ножками на карточке, а не только на SPI.
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 09.10.2008 13:50 Редактировалось 09.10.2008 13:50 Сообщение: 17
sasamy (Guest)

2Lexey
Про sd не знаю - на ммс в любом режиме одни и те же ноги дрыгаются, так что врядли на осцилографе можно разообраться - надо исходники драйвера смотреть.
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 23.10.2008 02:02 Редактировалось 23.10.2008 02:02 Сообщение: 18
sasamy (Guest)

Набрел на более конкретный пример как дергать ногами в linux из userspace правда для rm9200, но все же - может кому пригодится.
http://www.ipbx.ru/rm9200/gpio-RM9200.tar.gz
Спуститься к концу Подняться к началу
rw9uao (Guest)
Добавлено 11.11.2008 08:30 Редактировалось 11.11.2008 08:30 Сообщение: 19
rw9uao (Guest)

некоторые особо ленивые напрямую в железку пишут. кусок памяти мапят и пишут. найду как файлы аттачить - покажу.
Спуститься к концу Подняться к началу
sasamy (Guest)
Добавлено 11.11.2008 10:48 Редактировалось 11.11.2008 10:48 Сообщение: 20
sasamy (Guest)

Так вы бы глянули что в моем примере - там тот же mmap :)
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Embedded Linux