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

dryadae

Участник*
  • Постов

    154
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о dryadae

  • Звание
    Частый гость
    Частый гость

Посетители профиля

1 010 просмотров профиля
  1. Оформить, конечно, можно, но тогда и стоимость будет соответствующая - разубедите, если не так! И по-прежнему интересует прога для мультиплицирования, желательно - OpenSource или "от щедрот" какого-нибудь производителя; CAM350 - это, как я понимаю, для таких вещей слишком "круто". Так поэтому я и спрашиваю - металлизировать по разрезу, или нет (чтобы волокна не разлетались).
  2. А под перфорацией как лучше, металлизировать, или оставить 'чистым'? (делить буду самостоятельно, надфилем)
  3. В связи с желанием изготовить немного мелочи "для себя" возник вопрос. Какой программой можно объединить несколько Герберов+NC (двухслоек) в один дизайн, чтобы потом это можно было разделить самостоятельно? Судя по форме заказов, многими посредниками это пракикуется, но вот как? При лимите в ДЕСЯТКИ децеметров глупо не использовать такую возможность... В связи с этим возникает и второй вопрос (если, конечно, готовое решение существует). Какие зазоры между "кусками" лучше оставлять, и каким сверлом в каком количестве целесообразно делать 'перфорацию'? Предполагаются земляные площадки по краю. P.S. В качестве программы разработки используется Ultiboard 7.
  4. Угу, вопрос только, как скоро он до нас доберётся. BlackFin'ы с индексом "F", например, похоже, до сих пор едут...
  5. В SDRAM'е он есть, но у Блэкфина его нет :( Since the SDRAM burst length is always hardwired to be 1, the SDC does not support the Burst Stop command. Since the SDRAM burst length is always programmed to be 1, the burst type does not matter. However, the SDC always sets the burst type to sequential-accesses-only during the SDRAM powerup sequence. (ADSP-BF533 Hardware Reference Manual, rev. 3.2, стр 17-24)
  6. Я знаю, есть хороший генератор - Mersenne Twister - но не знаю, есть ли его реализация на VHDL. А обычно это делается на сдвиговых регистрах...
  7. Тогда, что с вашей точки зрения передается здесь: void fun(U8 *param, U16 size) { ... работаем с массивом param вместо sizeof используем переданный size } U8 array1[100]; fun( array1, sizeof(array1) ); Здесь передается указатель, и его размер (указателя) в байтах Размер указателя всегда один На 32-битной архитектуре он равен 4-м байтам, на 16-битной - двум. Без вариантов :) :) :) Кроме случая far. P.S. Размер указателя на указатель - тоже :glare:
  8. Да кто Вам сказал, что я ТАК делаю. Я лишь неосторожно сказал, что МОЖНО передать массив в качестве аргумента, и добавил - ежели правильно приготовить массив. Это не Си, это компайлер такой. О да. С весьма сомнительной совместимостью. Вспомнить хотя бы те же DDVT - понту было много, а толку? Где сейчас BC, и иже с ним?
  9. Да Бог с вами. Только накушаетесь вы со стеком, помяните моё слово.
  10. нюню, а это чьи слова? Так вот, строчка 0000001A ........ CALL ?LONG_FARG_16_L07 Как раз заталкивает (Вашими словами) в стек ВЕСЬ МАССИВ Странный Вы человек. Сами написали в комменте напротив CALL'а "заталкивает", и теперь ставите знак равенства между вашей нетночностью и моими словами :huh:
  11. А самое непосредственное. Вы же, когда будете вызывать memset() передадите указатель на тип char? Неправда - void * :) :) :) Да здесь я ошибся, но спор шел о приведении типов Отлично. Тогда говоря Вашими терминами, я, в своем примере, в функцию, в качестве параметра, передал область памяти Вы передали то, что лежит в стеке. А в стеке лежит адрес (2 байта у near адресации, 4 у far/flat), и ничего больше :excl: "Передать" - значит затолкнуть в стек, а не засунуть в глобальную переменную, или куда-то там ещё... А вот тут Вы не правы, в стек, или куда там еще, заталкивается ВЕСЬ массив, так как он передан по ЗНАЧЕНИЮ. Привожу листинг, скомпилированно IAR 4.10B: Кривой у вас компилятор Писать с его помощью TSR и обработчики прерываний - смерти подобно. И вообще, чтобы понять, надо не компилятором, а ручками. Тогда сразу станет ясна разница между Pascal и C, и то, что представляет из себя каждый тип. Я не "голословлю", адрес тоже можно использовать как аргумент - например, в случае far-адресации для выяснения идентификатора процесса, который может равняться cs :excl: P.S. Кстати, команда call не заталкивает, а вызывает. По крайней мере, в 80x86 и Motorola 68K.
  12. А самое непосредственное. Вы же, когда будете вызывать memset() передадите указатель на тип char? Неправда - void * :) :) :) Отлично. Тогда говоря Вашими терминами, я, в своем примере, в функцию, в качестве параметра, передал область памяти Вы передали то, что лежит в стеке. А в стеке лежит адрес (2 байта у near адресации, 4 у far/flat), и ничего больше :excl: "Передать" - значит затолкнуть в стек, а не засунуть в глобальную переменную, или куда-то там ещё... push ebp mov ebp, esp start equ [ebp+4] ; вот где начинаются аргументы Вашей функции, порядок зависит от callspec
  13. Передавать структуры в функцию - неправильно; стек не резиновый. Хорошая практика - malloc + typecast + указатель. Или просто указатель, если речь идёт о статике.
  14. Именно - со стороны флэшки.
×
×
  • Создать...