Jump to content

    

dlsh

Свой
  • Content Count

    294
  • Joined

  • Last visited

Community Reputation

0 Обычный

About dlsh

  • Rank
    Местный
  • Birthday 01/10/1983

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

4032 profile views
  1. Добрый день. Прошу сообщить возможность приобретения платы SK-NUC976 сроки и стоимость. Спасибо.
  2. Спасибо за информацию. Также появился вопрос по приобретению отладчика Nu-Link2-Pro / Nu-Link-Pro. Обратился к некоторым поставщикам, но ли отказ либо тишина. Приобретение как юр лицо. Если у кто знает накиньте ссылочку где бы можно взять отладчики.
  3. Тоже изучаю возможность применения NUC907. Пытаюсь найти в доступности демо плату для отладки, с возможностью подключения TFT и тачскрина. Для NUC907 нету вообще ничего что можно приобрести, но вроде есть для NUC980. На сколько сильно отличаются NUC907 и NUC980 ?
  4. Да, спасибо видел. Там представление даты через символ '-' т.е. как YYYY-MM-DD, а хотелось бы чтобы чепез символ '/'.
  5. Доброе время суток. Требуется подать на вход CLK FPGA EP4CE55 40 МГц. Внутри FPGA 40 МГц поступает только на PLL (максимальная частота выхода PLL 200 МГц). Выбранный TCXO генератор TG2520SMN 1.8В имеет на выходе сигнал типа clipped sine wave. Есть рекомендации для преобразования clipped sine wave в CMOS на базе инвертора. У Altera на входе CLK стоит свитч (inclk0) и встает вопрос что можно данный сигнал напрямую направить на CLK без потери каких либо характеристик. Можно ли ли так сделать? В чем проигрыш такого решения? И еще есть вопрос. Везде для преобразования clipped sine wave в CMOS используют инвертирующий буфер. А равноценно ли будет применение AND Logic на NC7SZ08? p.s. Нашел также сравнительную оценку шумов на выходе PLL при использовании в качестве входа CMOS/clipped sine wave (правда совсем не для Altera). Как по мне, то разница практически не больно то и критическая.
  6. Точность регулирования температуры -30/+150С (т.е. главное чтобы не менее 200-220С было). Требования 12В значение фиксированное. Сделать самим не проблема, однако есть цель применить готовые изделия без доработок. Спасибо за ссылку на DSS-25.
  7. нет, не связано. Нужно максимально быстро и дешево собрать устройство управления, основой которой является именно выбранный керамический нагреватель
  8. Доброе время суток. Есть керамический нагреватель с датчиком температуры от паяльной станции Lukey 868 20 - 30 Ом. Типа такого. Нужна плата управления, желательно на 12В(можно на крайний случай и 24В) (без реле) для поддержания температуры 250градусов ц. Плата нужна не с али, чтобы можно её было заложить в КД и затем естественно приобрести в России. Что то не удалось найти ничего подходящего. Нашел Quicko T12-952 но х.з. как она будет работать с нагревателем от Lukey. Причем отдельно саму плату управления для Quicko найти в продаже в России не удалось (хотя на али она есть). Может кто подскажет что/куда/где?
  9. Доброго времени суток коллеги. Возник такой вопрос о необходимости в обязательном порядке использовать формат даты при отображение на экране прибора являющегося средством измерения. Есть ГОСТ Р 7.0.64-2018 который регламентирует формат как 2022-01-22, однако прибор может на экране отображать только как 2022/01/22 (или 22/01/2022). В ГОСТ Р 7.0.64-2018 п.1 "Область применение" сказано размыто Верно ли что речь идет только про документы (и не распространяется на отображения на самом экране прибора)? Кто сталкивался с подобными сложностями в согласования формата? Может есть еще дополнительные стандарты и на само представление информации на приборах? п.с. В качестве экрана использую панель eMT8071, а там в EasyBuilder все строго - разделитель только косая черта.
  10. Понял, все верно. Нужно было чтобы оба объекта pB_var и pB_var компоновщик разместил во flash. И да, все верно - добавление квалификатор const решает задачу.
  11. Прикрепил упрощенный проект того что у меня сейчас в работе. #define __rom const __attribute__((section(".rxdata"))) typedef struct _B_var_t{ int *value; }B_var_t; int A_var[10]; __rom int *pA_var[100] = { &A_var[0], &A_var[2] }; __rom B_var_t pB_var[100] = { {&A_var[1]}, {&A_var[3]} }; int main() { int B = *pA_var[0]; while(1){ B += *pB_var[B % 100].value; } return 0; } Получаю ошибку Что интересно... если убрать структуру и сделать по аналогии тому примеру что в IAR то все работает, и оба указателя уходят во flash.... Но если добавит структуру то получаю ошибку. Ясно. test.KEIL.zip Эхх перемудрил... Все верно товарищи, достаточно просто указать const и компилятор убирает данные в flash... Ни какого атрибута не нужно. )))
  12. Верно, для простых случаев компилятор размещает данные в flash. Для случаев чуть сложнее все уходит в RAM. Например для IAR int A_var[10]; #pragma location=0x80000b0 const __root int *pA_var[100] = { &A_var[0], &A_var[2] }; const __root int *pB_var[100] = { &A_var[1], &A_var[3] }; int main() { int B = *pA_var[0]; while(1){ B += *pB_var[B % 100]; } return 0; } Имеем размещение .......... main 0x800'02a1 0x24 Code Gb main.o [1] pA_var 0x800'00b0 0x190 Data Gb main.o [1] pB_var 0x2000'0000 0x190 Data Gb main.o [1] ............. т.е. т.к. для pA_var явно указана flash то он там и лежит, а для pB_var этого явно не указано и компилятор размещает этот объект в Data. C атрибутом __flash согласен не совсем корректно, но он очень хорошо демонстрирует то что требуется. Т.е. нужно аналогия __flash для ARM в Keil чтобы можно помечать объекты которые нужно разместить в test.zip Так указал же выхлоп компилятора ../File.c(163): error: 'B' causes a section type conflict with 'A'
  13. const - размещает объекты в секции Data. const - не указывает где размещать, а определяет свойство неизменяемости. У keil дано решение для одного объекта, как только появляется второй с указанием размещения в той же секции то возникает конфликт размещения с ошибкой. В sct Sec_Const закоментирован.
  14. Приветствую коллеги. Элементарная вроде задача - размещать некоторых структур/данных в rom. Для Keil не могу найти решения. В IAR для этого есть атрибут __flash. В Keil вроде как для этой цели можно было бы приспособить атрибуты __attribute__((section(".rodata"))) Однако при попытке собрать проект где идут друг за другом объявления типа const int A __attribute__((section(".rodata"))) = 1; const int B __attribute__((section(".rodata"))) = 2; Выдает ошибку ../File.c(163): error: 'B' causes a section type conflict with 'A' Введение своей секции в.sct файл картины не меняет: ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* LR_IROM1 0x08000000 0x00020000 { ; load region size_region ER_IROM1 0x08000000 0x00020000 { ; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) .ANY (+XO) *.o(romdata) } ;Sec_Const 0x08001FFC 0x000004 { ; Const.o(SecConst) ;} RW_IRAM1 0x20000000 0x00014000 { ; RW data .ANY (+RW +ZI) } } Как объяснить компилятору что располагать в секции данный можно последовательно? С директивой #pragma вообще ничего подходящего не нашел...