Blackfin 533 (537)

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Привет, Eugene !


 14 Dec 05 , 14:29  Eugene Jamaysky писал к Vladimir Vassilevsky:

EJ> TCP/IP стек. Собственно, linux (точнее,uClinux) это все может
EJ> обеспечить, только... сыровато он как-то пока выглядит (на STAMP он
EJ> идет предустановленным). Правда, на http://blackfin.uclinux.org
EJ> доработка идет полным ходом. А вот в VDSP TCP стек есть, а файловую
EJ> систему писать прийдется самостоятельно.

Поддержка ЖИР32 или экст2/3 обычно встроенная в ядро, или модули. Hе понимаю,
что тут писать надо.

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... Борьба с глобальным ожирением

Re: Blackfin 533 (537)
Nickita A Startcev пишет:
Quoted text here. Click to load it

Писать прийдется довольно много.Например,uClinux прилично отличается от
просто linux,в частности отсутствием менеджера управления памятью.
Поддержки ext2/3 как, впрочем и FAT32 в VDSP нет и, пока не
предвидится.(FAT32-IMHO вообще г$#@но, извините).Можно, конечно, найти
его исходники, но в случае реализации под VDSP как минимум нужно еще
будет писать аналог scandisk/chkdsk и терпеливо ждать пока он прочекает
200Gb диск после некорректного выключения питания. uClinux меня смущает
в плане надежности - например, ftp-сервер в тестовом режиме упал при
увеличении размера файла до 25Mb. Веб-сервер вообще больше одного
соединения не выдержал.Напоминаю - я просил совета что выбрать прежде
всего у тех, кто с этим реально работает или работал.


Re: Blackfin 533 (537)
Quoted text here. Click to load it

Нет. Теперь - нет. Есть и то и то. А ядро проекта uClinux отличается от прочих
линуксов активной поддержкой и развитием разнообразных плат, с mmu и без.

Re: Blackfin 533 (537)
Dmitry Fedorov пишет:
Quoted text here. Click to load it

Не совсем так. MMU в версии для Blackfin uClinux действительно
существует, но в упрощенном виде. Например он защищает от записи область
кернела от программ, но не программу от программы, нет виртуальной памяти.

Вот здесь подробней:
--------------------------------8<---------------------------------------------------
http://docs.blackfin.uclinux.org/doku.php?id=operating_systems#introduction_to_uclinux

Introduction to uClinux

uClinux stands for microcontroller Linux (u for the Greek letter mu
denoting micro and C for controller). This is a port of the Linux kernel
designed for use on devices without a Memory Management Unit (MMU).

Considering that the absence of full MMU support in uClinux constitutes
a fundamental difference from mainstream Linux, surprisingly little
kernel and user space software is affected. Two differences, the lack of
memory protection and the lack of a virtual memory model, between
mainstream Linux and uClinux are a consequence of the removal of MMU
support from uClinux. Specifically, becuase Blackfin has part of a MMU
(offers some memory protection, but not virtual memory),
Blackfin/uClinux has better protection than other noMMU systems, and
will not crash as often as uClinux running on different processors.

Memory Protection

One consequence of operating without memory protection is that an
invalid pointer reference (null pointer, or pointer to an odd address),
even by an unprivileged process, may trigger an address error, and
potentially corrupt or even shut down the system. Obviously code running
on such a system must be programmed carefully and tested diligently to
ensure robustness and security.

The Blackfin MMU does provide partial memory protection, and can segment
user space from kernel space, so this less likily to be an issue on the
Blackfin architecture like it is on other devices that run uClinux. On
Blackfin/uClinux, we start the kernel at 0?1000, leaving 4k as a buffer
for bad pointers. If an application gets a bad pointer that reads or
writes into the first 4k of memory, the application will halt. Other
implmentation of uClinux will start writing over the kernel. This will
ensure that random crashes due to pointer corruption are less likily to
happen on Blackfin/uClinux.

The Blackfin MMU also protects uClinux applicaitons from writing into
kernel space, but does not protect them from writing from one
application into the space of another application.

Site Timeline