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

arttech

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
    Участник
  • День рождения 17.07.1979

Информация

  • Город
    Array

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

1 023 просмотра профиля
  • AlexG

  1. Нет, всё верно, у меня контроллер MMC, на котором висят, как eMMC память, так и SD карточка, для которых в определённое время и нужно конфигурировать контроллер.
  2. А где можно взять документацию для версии 2.0, а то смотрю везде CSD имеет одинаковую структуру, как для MMC версии 3, так и для версии 4.
  3. Подскажите, как определить объём для uSD (интерфейс MMC4.4.1) карты объёмом свыше 2ГБ? Для карт 2ГБ и ниже размер высчитывался из полей структуры CSD . Для более крупных объёмов надо оперировать структурой EXT_CSD, которая занимает 512 байт. При попытке чтения этой структуры (CMD8), MMC контроллер не возвращает ничего.
  4. Подскажите, где можно раздобыть спецификацию на телефонный интерфейс (обычный телефонный аппарат), для того, чтобы можно было спроектировать FXO порт. Может кто знает простое схемотехническое решение такого порта? Заранее благодарен.
  5. PCI <-> SPI

    Необходимо сделать сопряжение устройства SPI с PCI шиной. Подскажите, какое решение лучше использовать? Хотелось бы поставить один мост PCI-SPI и забыть... но таковых пока найти не удаётся
  6. Размещение функции в RAM

    Как лучше и проще можно разместить функцию в RAM памяти средствами IAR? До сегодняшнего дня делал это так #pragma segment="RAM" void Print_flash() @ "RAM" { ................. } и далее сегмент "RAM" прописывал в .xcl файле в разделе "Read/Write memory". Всё работает, но такой подход не устраивает.
  7. RSEG(-z)

    "Pragma" только объявляет сегмент, а далее компилятор объединяет весь код, определённый под указанным сегментом... #pragma segment="MYSEG" 2 void FUNK_1() @ "MYSEG" { ... } void FUNK_2() @ "MYSEG" { ... } void FUNK_3() @ "MYSEG" { ... } В процессе линковки, линковщик размещает данные сегменты согласно указанным в файле с расширением .xcl Важно знать карту памяти данного МК, чтоб правильно указать границы, как уже приводил пример выше -P(CODE)CODE,ISR_FUNC,DATA16_C,MYSEG=8000-FFBD Отсюда видно, что сегмент "MYSEG" размещён в пространстве адресов 0x8000 - 0xFFBD.... Можно сделать размещение более наглядным -P(CODE)CODE=8000-9000 -P(CODE)ISR_FUNC,DATA16_C=9100-B000 -P(CODE)MYSEG=C000-FFBD Только в данном случае мы должны быть уверены, что код указанных сегментов вместится в указанные рамки. Для более полного понимания, какие данные размещаются и в каких сегментах воспользуйтесь EW430_CompilerReference.pdf Segment reference, стр. 241
  8. RSEG(-z)

    Вот пример, как я размещаю сегменты в памяти. Они размещаются один за другим это в MSP серии F2xxx -P(CODE)CODE,ISR_FUNC,DATA16_C,MYSEG=8000-FFBD т.е. размещать разрешено как угодно, главное, чтоб было установлено выравнивание адреса === #pragma segment="NAME" [align] align - Specifies an alignment for the segment part. The value must be a constant integer expression to the power of two. Description Use this pragma directive to define a segment name that can be used by the segment operators __segment_begin and __segment_end. All segment declarations for a specific segment must have the same memory type attribute and alignment. === я это делаю так: #pragma segment="MYSEG" 2
  9. RSEG(-z)

    Попробуйте сделать так: -P(CODE)CODE=3100-FFBF,10000-1FFFF -P(CODE)M1E1_add_M2E2=3100-FFBF,10000-1FFFF Дело в том, что main находится в том же сегменте, вы изначально указали свой сегмент, вот стартап на него и переходит
  10. Ага, а импульсный ток можно ограничить дросселем... Правильно ли будет такое решение для ограничения тока?
  11. Как известно, кислотные автомобильные аккумуляторы надо заряжать до напряжения 14.2 - 14.7В зарядным током 10% от ёмкости аккумулятора. Т.е. источник заряда должен иметь на выходе порядка 15В с возможностью регулировки выходного тока. Правильно ли будет заряжать аккумулятор, подавая на него 15В действующего значения напряжения, когда амплитудное значение будет составлять скажем 30В? Регулировка тока при этом будет осуществляться методом ШИМ.
  12. Огромное спасибо за советы и полезные идеи :)
  13. Да, идея хорошая и что самое главное достоверно можно определить наличие дыр в коде.. Но вот хотелось бы узнать, как сам компилятор заставить определить перерасход RAMa...
  14. определение расхода RAM

    Добрый день! Подскажите, как можно определить какое количество памяти RAM требуется в процессе выполнения программы и не превышает ли программа своими запросами установленное количество на МК? Использую MSP430F2471, RAM памяти - 4 КБ. Иногда замечал, что в процессе девайс начинал вести себя непредсказуемо и логики в работе никакой не было. После уменьшения количества длин буферов всё ставало на свои места. В MAP файле под глобальные переменные расходуется "3 670 bytes of DATA memory (+ 61 absolute )", но вот в процессе работы включаются в работу процедуры, где запрашивается RAM из стека. Так вот, как убедиться, что процедуры не превышают запрашиваемый объём RAM?
×
×
  • Создать...