Jump to content



  • Content Count

  • Joined

  • Last visited

Everything posted by zhz

  1. IAR 6.4 Optimization Bug

    В версии 6.50.5 баг с оптимизацией вроде бы исправили.
  2. Выбрать ARM c 6..9 PWMs

    Atmel SAM3X/A 8 PWM
  3. Цитата(dinam @ Feb 21 2013, 10:37) to Uree Тяжело с гуру спорить т.к. разводкой занимаюсь не часто. Но в памяти отложилось, что любые загибы трасс(не скругленные) приводят к нарушению формы сигнала, называемые отражениями. Читал про приборы (непомню как называются) для тестирования кабелей, которые посылая тестовый сигнал смотрят на отражения. И выдают характер нрушения кабеля, расстояние до него и т.д. К вопросу об углах: http://www.ultracad.com/articles/90deg.pdf " Conclusions: The TDR data do not show any measurable reflections from either 45 or 90 corners in microstrip traces. In theory, there is a change in Zo caused by a corner, but the effect is not sufficient to be resolvable with a 17 ps rise-time pulse. The radiated emission measurements (up to 1.3 GHz.) do not show an increase for 90 corners, compared to 45 corners, that is larger than measurement uncertainty. All of the trace geometries measured produced radiated emissions that were 35-50 dB below the emissions of a 3-cm long monopole antenna and only slightly above those from a straight trace with no corners. For most circuit boards it is expected that discontinuities encountered at IC packages, connectors, and vias will produce much larger reflection or radiation effects than either 45 or 90 corners. "
  4. Andrew N. Sloss, Dominic Symes, Chris Wright ARM System Developer’s Guide. Designing and Optimizing System Software. 7.4 Square Roots 7.4.1 Square Root by Trial Subtraction ... following optimized assembly to implement the preceding algorithm in only 50 cycles including the return. ... 7.4.2 Square Root by Newton-Raphson Iteration ... It uses a table lookup followed by two Newton-Raphson iterations and is accurate to a maximum error of 2**-29. On an ARM9E the code takes 34 cycles including the return....
  5. AT91SAM7X128-AU B

    Цитата(KAZi @ Feb 22 2012, 23:03) BOD только не был включен,а остальное включено. А в чем причина, если BOD не включен? А Atmel его знает Видимо контроллер flash глючит при переходных процессах. Во всяком случае мне помогло. ЦитатаСейчас как на картинке, я так понял, что все правильно с BOD. Угу. Только я reset по BOD не включал.
  6. AT91SAM7X128-AU B

    Цитата(KAZi @ Feb 22 2012, 20:01) AT91SAM7X128-AU B ревизия В Иногда слетает флешка при выдергивании юсб шнурка. Включи BOD
  7. AT91RM9200

  8. Цитата(Hitokiri @ Jul 25 2011, 14:36) При конвертации из LP Wizard в библиотеку Pcad2006, нарушается ресиунок линий assy, Courtyard, как будто смещены координаты линий, те вообще случайно выглядят, после конверсии. Может быть кто-то сталкивался? версия 10.3 ? Возьми v10.2.1
  9. Как побороть zombie shape?

    Цитата(Uree @ Dec 17 2010, 19:41) Тем более реально никаких противопоказаний делать питания как можно "грубее" нет. Вообще-то есть http://focus.ti.com/lit/an/spraav1b/spraav1b.pdf page 10-11, 23-24 "the trace width exiting the BGA pad is much too large. In this case the trace acts as a heatsink during reflow" Я не сторонник тонких проводников питания - совсем наоборот . Но надо знать меру.
  10. Вышла FreeRTOS V4.0.5 ... 8.2.3

    Changes between V6.0.5 and V6.1.0 released October 6 2010 + Added xTaskGetTickCountFromISR() function. + Modified vTaskSuspend() to allow tasks that have just been created to be immediately suspended even when the kernel has not been started. This allows them to effectively start in the Suspended state - a feature that has been asked for on numerous occasions to assist with initialisation procedures. + Added ports for the Renesas RX62N using IAR, GCC and Renesas tool suites. + Added a STM32F103 demo application that uses the Rowley tools. + Under specific conditions xFreeBytesRemaining within heap_2.c could end up with an incorrect value. This has been fixed. + xTaskCreateGeneric() has a parameter that can be used to pass the handle of the task just created out to the calling task. The assignment to this parameter has been moved to ensure it is assigned prior to the newly created having any possibility of executing. This takes into account the case where the assignment is made to a global variable that is accessed by the newly created task. + Fixed some build time compiler warnings in various FreeTCPIP (based on uIP) files. + Fixed some build time compiler warnings in Demo/Common/Minimal/IntQueue.c.

    Цитата(Evgeny_V @ Jul 24 2010, 10:14) Здравствуйте. При запуске SPECCTRA из P-CADа с пустым DO файлом SPECCTRA должна останавливается, чтобы можно было выполнять ее команды. Так у меня и было. Но с некоторого времени при таком запуске она стала вылетать в P-CAD без остановки . Вопрос: Как вернуть прежнее состояние? Отключить опцию: Route/Autorouters.../Specctra/Command Line.../Quit when done
  12. ARM9 в DSP задачах

    Цитата(TigerSHARC @ Jun 30 2010, 18:33) Здравствуйте! Ищу информацию о применении ARM9 в задачах DSP. Может быть есть таблицы, где отображено время выболнение базовых алгоритмов, или, скажите просто какой мощностью в MMACS обладает ARM926 от Атмел. Заранее спасибо всем ответившим. В книжке "ARM System Developer’s Guide. Designing and Optimizing System Software" есть глава по DSP с примерами и оценкой производительности. [attachment=45457:2010_06_30_194234.png]
  13. Atmel зажигает!

    Кстати Atmel Opens New Research and Development Center in Taiwan http://www.atmel.com/dyn/corporate/view_de...ng_1-19-10.html
  14. AT91AR9200+SDRAM глюки

    Кстати на сайте Атмела появился апнот: "Signal Integrity and Power Integrity Analysis around the SDRAM Bus Activity Using an AT91SAM9260 Mic Application Note" http://www.atmel.com/dyn/resources/prod_do...nts/doc6386.pdf Там и примеры разводок есть.
  15. Вышла FreeRTOS V4.0.5 ... 8.2.3

    Changes between V5.2.0 and V5.3.0 released June 1st 2009 Main changes: + Added new (optional) feature that gathers statistics on the amount of CPU time used by each task. + Added a new demo application for the Atmel AT91SAM3U Cortex-M3 based microcontroller. + Added a new demo application for the NXP LPC1766 Cortex-M3 based microcontroller. + Added a contributed port/demo that allows FreeRTOS to be 'simulated' in a Linux environment. Minor changes: + Updated the Stellaris uIP WEB server demos to include the new run time statistics gathering feature - and include a served WEB page that presents the information in a tabular format. + Added in the lwIP port layer for the Coldfire MCF52259. + Updated the CrossWorks LPC2368 WEB server to include an image in the served content. + Changed some of the timing in the initialisation of the LPC2368 MAC to permit its use on all part revisions. + Minor modifications to the core uIP code to remove some compiler warnings. + Added xTaskGetApplicationTaskTag() function and updated the OpenWatcom demo to make use of the new function. + Added contributed demos for AVR32 AP7000, STM32 Primer 2 and STM32 using Rowley Crossworks. + Heap_1.c and Heap_2.c used to define structures for the purpose of data alignment. These have been converted to unions to save a few bytes of RAM that would otherwise be wasted. + Remove the call to strncpy() used to copy the task name into the TCB when the maximum task name is configured to be 1 byte long.
  16. R0.07a, Apr 14, 2009 Separated out OS dependent code on re-entrant configuration. Added multiple sector size support.
  17. Цитата(Andy Mozzhevilov @ Apr 9 2009, 18:09) Но, не знаю, насколько автор тестировал "re-entrancy for multitask operation", поскольку есть банальная синтаксическая ошибка в функции unlock_fs() С кем не бывает ЦитатаНо по коду бегло просмотрел, вроде как дополнительно низкоуровневые функции драйвера лочить не нужно, все должно разруливаться через введенные lock_fs() и unlock_fs(). Для одной карты и одной FS может и не надо. А если карт больше одной (у меня их 8) то, полагаю, мютексить драйвер MCI необходимо. ЦитатаБуду тестировать. Если у кого вдруг появятся результаты, в том числе найдутся баги (мало ли, любой код не без этого), то интересно будет узнать. Я под FreeRTOS второй день тестирую. Вроде пока все нормально. LFN не пробовал, а в остальном - вполне.
  18. R0.07, Apr 01, 2009 Merged Tiny-FatFs as a buffer configuration option. Added long file name support. Added multiple code page support. Added re-entrancy for multitask operation. Added auto cluster size selection to f_mkfs(). Added rewind option to f_readdir(). Changed result code of critical errors. Renamed string functions to avoid name collision.
  19. Fixed Point для ARM7

    Цитата(aaarrr @ Mar 5 2009, 02:18) Говорит: "Файл номер 10871961 не найден !!!" Sorry, проверял вроде. Повторим: http://ifolder.ru/10879927
  20. Fixed Point для ARM7

    Цитата(vvs157 @ Mar 4 2009, 20:17) Не подскажите, где ее можно скачать? http://ifolder.ru/10871961
  21. Fixed Point для ARM7

    Цитата(5balloff @ Mar 2 2009, 18:30) подскажите где можно достать Fixed Point библиотеку для ARM7 с функцией SQRT? Есть такая весьма полезная книга: ARM System Developer’s Guide Designing and Optimizing System Software Andrew N. Sloss, Dominic Symes, Chris Wright Ch.7 Square Roots 7.4.1 Square Root by Trial Subtraction 7.4.2 Square Root by Newton-Raphson Iteration Код;// Section 7.4: Square and cube root         AREA    ch07_4, CODE, READONLY         EXPORT  usqr_32         EXPORT  ucbr_32         EXPORT  rsqr_32 q       RN 0   ; input value, current square root estimate r       RN 1   ; the current remainder c       RN 2   ; scratch register usqr_32; unsigned usqr_32(unsigned q)         SUBS    r, q, #1<<30           ; is q>=(1<<15)^2?         ADDCC   r, r, #1<<30           ; if not restore         MOV     c, #3<<30              ; c is a constant         ADC     q, c, #1<<31           ; set bit 15 of answer        ; calculate bits 14..0 of the answer         GBLA    N N       SETA    14         WHILE   N<>-1           CMP   r, q, ROR #(30-2*N)    ; is r >= t<<N ?           SUBCS r, r, q, ROR #(30-2*N) ; if yes then r -= t<<N;           ADC   q, c, q, LSL#1         ; insert next bit of answer N         SETA  (N-1)         WEND         BIC     q, q, #3<<30           ; extract answer         MOV     pc, lr q0      RN 0   ; input value, current estimate r       RN 1   ; current remainder s       RN 2   ; current remainder q1      RN 3   ; current estimate c_1     RN 12  ; 1<<29 c_2     RN lr  ; 3<<30         MACRO         CBR_STEP $N, $q1, $q0         SUBS    $q1, r, s, ROR #(30-3*$N)         MOVCS   r, $q1         ADC     $q1, c_2, $q0, LSL#1         ADD     s, $q0, s, ROR #30         EORCS   $q0, c_1, $q0, LSL #1         SUB     s, s, $q0, ROR #30         MEND ucbr_32; unsigned ubcr_32(unsigned q)         STR     lr, [sp, #-4]!         MVN     c_1, #1<<29         MOV     c_2, #3<<30        ; calculate answer bit 10         SUBS    r, q0, #1<<30         MOVCC   r, q0         ADC     q0, c_2, #1<<31         MOVCC   s, #(1<<30)         MOVCS   s, #(3<<30)+4        ; calculate answer bits 9,8,...,1         CBR_STEP 9, q1, q0         CBR_STEP 8, q0, q1         CBR_STEP 7, q1, q0         CBR_STEP 6, q0, q1         CBR_STEP 5, q1, q0         CBR_STEP 4, q0, q1         CBR_STEP 3, q1, q0         CBR_STEP 2, q0, q1         CBR_STEP 1, q1, q0        ; calculate answer bit 0         CMP     r, s, ROR #30         ADC     q0, q1, q1         BIC     r0, q0, #3<<30         LDR     pc, [sp], #4                   q       RN 0   ; input value, estimated reciprocal root b       RN 1   ; scratch register s       RN 2   ; normalization shift d       RN 3   ; normalized input value a       RN 12  ; scratch register/accumulator          rsqr_32; unsigned rsqr_32(unsigned q)         CLZ     s, q                ; choose shift s which is         BIC     s, s, #1            ; even such that d=(q<<s)         MOVS    d, q, LSL s         ; is 0.25<=d<1 at Q32         ADDNE   q, pc, d, LSR#25    ; table lookup on top 7 bits         LDRNEB  q, [q, #tab-base-32]; of d in range 32 to 127 base    BEQ     div_by_zero         ; divide by zero trap         ADD     q, q, #0x100        ; table stores only bottom 8 bits        ; q is now a Q8, 9-bit estimate to 1/sqrt(d)         SMULBB  a, q, q             ; a = q*q at Q16         MOV     b, d, LSR #17       ; b = d   at Q15         SMULWB  a, a, b             ; a = d*q*q at Q15         MOV     b, q, LSL #7        ; b = q at Q15         RSB     a, a, #3<<15        ; a = (3-d*q*q) at Q15         MUL     q, a, b             ; q = q*(3-d*q*q)/2 at Q31        ; q is now a Q31 estimate to 1/sqrt(d)         UMULL   b, a, d, q          ; a = d*q at Q31         MOV     s, s, LSR #1        ; square root halves the shift         UMULL   b, a, q, a          ; a = d*q*q at Q30         RSB     s, s, #15           ; reciprocal inverts the shift         RSB     a, a, #3<<30        ; a = (3-d*q*q) at Q30         UMULL   b, q, a, q          ; q = q*(3-d*q*q)/2 at Q31        ; q is now a good Q31 estimate to 1/sqrt(d)         MOV     q, q, LSR s         ; undo the normalization shift         BX      lr                  ; return q div_by_zero         MOV     q, #0x7FFFFFFF      ; maxium positive answer         BX      lr                  ; return q          tab    ; tab[k] = round(256.0/sqrt((k+32.3)/128.0)) - 256         DCB  0xfe, 0xf6, 0xef, 0xe7, 0xe1, 0xda, 0xd4, 0xce         DCB  0xc8, 0xc3, 0xbd, 0xb8, 0xb3, 0xae, 0xaa, 0xa5         DCB  0xa1, 0x9c, 0x98, 0x94, 0x90, 0x8d, 0x89, 0x85         DCB  0x82, 0x7f, 0x7b, 0x78, 0x75, 0x72, 0x6f, 0x6c         DCB  0x69, 0x66, 0x64, 0x61, 0x5e, 0x5c, 0x59, 0x57         DCB  0x55, 0x52, 0x50, 0x4e, 0x4c, 0x49, 0x47, 0x45         DCB  0x43, 0x41, 0x3f, 0x3d, 0x3b, 0x3a, 0x38, 0x36         DCB  0x34, 0x32, 0x31, 0x2f, 0x2d, 0x2c, 0x2a, 0x29         DCB  0x27, 0x26, 0x24, 0x23, 0x21, 0x20, 0x1e, 0x1d         DCB  0x1c, 0x1a, 0x19, 0x18, 0x16, 0x15, 0x14, 0x13         DCB  0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0b, 0x0a, 0x09         DCB  0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01         END
  22. LPC2478 + включение питания sd card

    Цитата(Dog Pawlowa @ Mar 2 2009, 09:53) Нет, если идти по шагам, то питание SD-карты включается нормально, т.е. уровни напряжения в порядке. Используется p-канальный IRLMLР6402 с пороговым напряжением 0,4 ..1,2 В. Тем не менее карточка перестает работать. Следует обратить внимание, чтобы при отключенном питании, карточка не запитывалась по сигнальным линиям. Некоторые карточки этого не любят.
  23. Цитата(PCBExp @ Jan 15 2009, 16:22) К сожалению есть места где поставить даже 0402 счетверенные сборки проблематично А может 0201x2 подойдут ? Размер 0.8x0.6mm. И при разводке оперировать с двойками бывает удобнее.
  24. Вышла FreeRTOS V4.0.5 ... 8.2.3

    Release Name: V5.1.1 Notes: -------------------------------------------------------------------------------- Changes between V5.1.0 and V5.1.1 released November 20, 2008 + Added Coldfire MCF52233 WEB server demo using GCC and Eclipse. + Added IAR MSP430 port and demo. + Corrected several compiler time issues that had crept in as tool versions change. + Included FreeRTOS-uIP - a faster uIP. This is not yet complete.
  25. Цитата(Wano @ Oct 29 2008, 16:24) Если пропадает питание или ресет, то получается кривой файл. Пропадает не только последняя запись, но и повреждается FAT. Выяснил, что EFSL скидывает всё на диск только когда даётся команда размонтировать. В FatFS для таких случаев есть функция f_sync(): Цитатаf_sync The f_sync function flushes the cached information of a writing file. Description The f_sync function performs the same process as f_close function but the file is left opened and can continue read/write/seek operations to the file. This is suitable for applications that open files for a long time in writing mode, such as data logger. Performing f_sync of periodic or immediataly after f_write can minimize risk of data loss due to a sudden blackout or an unintentional disk removal. This function is not supported in read-only configuration. Так что брось ты эту efsl FatFS вполне вменяемая FS.