Jump to content

    

Croman13n3c

Участник
  • Content Count

    30
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Croman13n3c

  • Rank
    Участник
  1. Как минимум по ним не видно дребезга, или как уже сказал: настолько мал что осцилл не захватил. А вот добавить защиту от дребезга стоит.
  2. От фирмы Nexperia. В даташите указано что по клоку стоит триггер Шмитта, и цитирую даташит:
  3. Добрый день Столкнулся с проблемой переключения выходов Q,Q! в схеме коммутатора питания на D-триггере 74LVC1G74 (см. attach) - смена состояния выходов происходит не только по положительному фронту, но и по спадающему. Грешил на дребезг контактов тактовой кнопки, но посмотрев осциллографом ничего не обнаружил (или импульсы настолько малые что осцилл их не захватил). Возможно кто-нибудь сталкивался с похожей проблемой и подскажет куда копать ?
  4. float RoundPrecision(float value, float precision) { return floorf(value/precision + 0.5f)*precision; } Использование RoundPrecision (100.125f, 0.01f)
  5. Пытаюсь выделить секцию фиксированного размера. Но компилятор выделяет только размер соответствующий, включенных в неё переменных.Пока поставил костыль в виде массива констант включенный в секцию. .conf : AT (0x28000) { . = ALIGN (4); _conf_begin = .; KEEP(*(.conf .conf*)) . = ALIGN(4); _conf_end = .; } >eeprom Регион eeprom - eeprom (rx) : ORIGIN = 0x00028000, LENGTH = 0x00007FFF Компилятор - gcc 4.7.2 , тулчейн yagarto.
  6. Имеем FAT12 : 1. 0 сектор - MBR 2. 1-18 сектора - сам фат и его копия ( по 9 секторов ) 3. 19-32 сектора - корневая директория (14 секторов по 16 директорий) Я так понимаю при записи в файл будут меняться сектора с 1-18, при создании или удалении файлов - 19-32 сектора или ,если файл только 1, будет стираться только 19 сектор ?
  7. Количество перезаписи секторов ограничено. Каждая запись в файловую систему будет сопровождаться перезаписью служебной информации,а это будут одни и теже сектора. А портировать fatfs на serial flash не предаставляет большой сложности: там будут нужны функции инициализации, статуса, записи и чтения сектора.
  8. Находится в startup_LPC17xx.c. Не компилировался и не передавался (упс, еще не собиралась lpc17xxlib), но после исправления лучше не стало - линкер сыплет ошибками linker.txt Является , после перадачи линкеру объектника - он сыплет ошибками (прикрепил отчет выше) #pragma weak Reset_Handler = Default_Reset_Handler void Default_Reset_Handler(void) { /* Initialize data and bss */ unsigned long *pulSrc, *pulDest; /* Copy the data segment initializers from flash to SRAM */ pulSrc = &_sidata; for(pulDest = &_sdata; pulDest < &_edata; ) { *(pulDest++) = *(pulSrc++); } /* Zero fill the bss segment. This is done with inline assembly since this will clear the value of pulDest if it is not kept in a register. */ __asm(" ldr r0, =_sbss\n" " ldr r1, =_ebss\n" " mov r2, #0\n" " .thumb_func\n" "zero_loop:\n" " cmp r0, r1\n" " it lt\n" " strlt r2, [r0], #4\n" " blt zero_loop"); __asm(" ldr r0, =_sbss1\n" " ldr r1, =_ebss1\n" " mov r2, #0\n" " .thumb_func\n" "zero_loop1:\n" " cmp r0, r1\n" " it lt\n" " strlt r2, [r0], #4\n" " blt zero_loop1"); /* Setup the microcontroller system. */ SystemInit(); /* Call the application's entry point.*/ main(); } Не изменило, в файле startup_LPC17xx.c Новый map после добавления добавления недостающих файлов: PIR_NEW.map.txt После последних исправлений добавил заглушки к newlib - сборка завершена успешно. Надо мне внимательней читать выхлоп средств сборки. Спасибо за помощь.
  9. Таблица векторов есть и помещается в isr_vector: __attribute__ ((section(".isr_vector"))) void (* const g_pfnVectors[])(void) = { /*----------Core Exceptions------------------------------------------------ */ (void *)&pulStack[STACK_SIZE-1], /*!< The initial stack pointer */ Reset_Handler, /*!< Reset Handler */ NMI_Handler, /*!< NMI Handler */ HardFault_Handler, /*!< Hard Fault Handler */ MemManage_Handler, /*!< MPU Fault Handler */ BusFault_Handler, /*!< Bus Fault Handler */ UsageFault_Handler, /*!< Usage Fault Handler */ 0,0,0,0, /*!< Reserved */ SVC_Handler, /*!< SVCall Handler */ DebugMon_Handler, /*!< Debug Monitor Handler */ 0, /*!< Reserved */ PendSV_Handler, /*!< PendSV Handler */ SysTick_Handler, /*!< SysTick Handler */ /*----------External Exceptions---------------------------------------------*/ WDT_IRQHandler, /*!< 0: Watchdog Timer */ TIMER0_IRQHandler, /*!< 1: Timer0 */ TIMER1_IRQHandler, /*!< 2: Timer1 */ ...............
  10. Поизучав map файл стало ясно, что он практически все секции исключил из бинарника Discarded input sections .text 0x00000000 0x0 obj/main.o .data 0x00000000 0x1 obj/main.o .bss 0x00000000 0x14 obj/main.o ........... Секция линкер скрипта относящаяся к rom .text : { KEEP(*(.isr_vector .isr_vector.*)) *(.text .text.* .gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) *(.rodata .rodata* .gnu.linkonce.r.*) } > rom .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } > rom __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } > rom __exidx_end = .; .conf : AT (0x28000) { . = ALIGN (4); _conf_begin = .; KEEP(*(.conf .conf*)) . = ALIGN(4); _conf_end = .; } >rom PIR_NEW.map.txt
  11. Стараюсь перенести проект из CoIDE в Eclipse Juno. Заготовку makefile`а взял из scmrtos. Сами объектники компилируются, но не собираются в окончательный бинарник: text data bss dec hex filename 0 0 0 0 0 exe/PIR_NEW.elf Подозреваю ошибку в параметрах линкера, но вот что именно не так - хз. makefile.txt LPC1756.ld.txt
  12. Попытка обойти прерывание с помощью handle SIGTRAP nostop не помогла. ( так же и как monitor reset 0). Судя по гуглу эта ошибка иногда возникает , но вот однозначного решения нету