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

Romario

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Частый гость
    Частый гость
  • День рождения 30.09.1976

Контакты

  • Сайт
    Array
  • ICQ
    Array

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

1 277 просмотров профиля
  1. продам MSP430F169IPM rev.P541

    Есть в наличии 3200 штук. MSP430F169IPM rev.P541 продается все сразу или партиями от 500шт. Цена..... ну, начнем от $6 (торг уместен) Пока налом. Местонахождение Зеленоград/Москва. Возможна пересылка. Пишите, договоримся. В личку или romariok собака mail.ru
  2. относительно срочно. контакты romariok на mail ру или сюда в личку
  3. Ахринеть! спросил у человека ранее работавшего в компэле с wavecom. Говорит - установи AT+ STSF=2,"1B6BFFFF1F" я спрашиваю, а что это? он - хз. лезу в описалово команд - написано range: 320060C01F0100471C-FFFFFFFF7F01005F3E default value: 3F6BFFFF1F0100573E но первые части вроде совпадают. пишу AT+ STSF=2,"3B6BFFFF1F0100573E" и все начинает работать как нужно!!! смотрим описание SIM ToolKit terminal profile байт N1 бит b3 = "Cell Broadcast data download" по умолчание он установлен, его то мы и сбросили. чтобы это значило? на что это может повлиять когда я его сбросил?
  4. и как часто надо туда лезть? и почему собсно я должен его поддерживать чтобы он случайно не оборвался? это дело модема а не мое... повторюсь, на билайновской карте такого нет. p.s. по вашему мнению, я должен после открытия gprs ОЧЕНЬ быстро открыть tcp сессию (чтобы gprs не отвалился) а в ней постоянно пулять данные? :) ==================== короче ничего не понимаю, нашел корпоративную билайновскую карту и все тоже самое, tcp/gprs отваливается секунд через 10. а на моей, личной (билайн, года 2 уже ей) все ОК!
  5. ситуация такая, сначала обнаружил что при выходе из прозрачного режима в командный хоть по +++ хоть по DTR=1 вываливалась ошибка +CME ERROR: 812 (gprs failure). после чего становилось at+wipbr? +WIPBR: 6,0 OK т.е. отвалилась GPRS. Однако при дальнейшем изучении оказалось, что GPRS рвется еще раньше, после соединения по TCP данные не отправляются и не принимаются, гдето в течении секунд 10-15 после коннекта канал встает, что ессно, gprs отваливается и данные не идут. вставляю карту Билайн - все OK - вишу в tcp сессии десятки мунут. Теперь, что самое интересное, вставляю эту карту МТС в телефон, и спокойно выхожу в GPRS и сижу в мобильной опере сколько угодно. т.е. дело в модеме, что никогда за ним замечено не было такого. версия 663c00gg.Q2686H 1961896 122407 14:45 попробовал перешить на 663d00gg.Q2686H 1965472 063008 16:17 - не помогло! также не помогло перешивка WIP 3.11 на WIP 3.21 т.е. какой то косяк с этими МТС картами. Что делать? что подкрутить в модеме? =========================== дополнение: сейчас обнаружил что просто достаточно подождать после открытия GPRS соединения, даже не лезть в TCP и GPRS bearer отваливается!
  6. Cобственно меня интересует какие либы можно исключить из данного списка для создания рамдиска. И работоспособности линуха и моего приложения. Сети и харда у меня нет. Но нужны к примеру thread, поэтому либа libpthread нужна. /lib: total 7613 -rwxr-xr-x 1 0 0 158767 Nov 18 11:08 ld-2.5.so lrwxrwxrwx 1 0 0 11 Nov 24 16:45 ld-linux.so.2 -> ld-2.5.so -rw-r--r-- 1 0 0 77069 Nov 18 11:07 libanl-2.5.so lrwxrwxrwx 1 0 0 15 Nov 24 16:45 libanl.so.1 -> libanl-2.5.so -rw-r--r-- 1 0 0 8477 Nov 18 11:06 libBrokenLocale-2.5.so lrwxrwxrwx 1 0 0 24 Nov 24 16:45 libBrokenLocale.so.1 -> libBrokenLocale-2.5.so -rwxr-xr-x 1 0 0 1498950 Nov 18 11:08 libc-2.5.so lrwxrwxrwx 1 0 0 17 Nov 24 16:45 libcom_err.so.2 -> libcom_err.so.2.1 -rwxr-xr-x 1 0 0 10438 Sep 30 22:02 libcom_err.so.2.1 lrwxrwxrwx 1 0 0 19 Nov 24 16:45 libconsole.so.0 -> libconsole.so.0.0.0 -rwxr-xr-x 1 0 0 94241 Sep 30 21:57 libconsole.so.0.0.0 -rw-r--r-- 1 0 0 76356 Nov 18 11:07 libcrypt-2.5.so lrwxrwxrwx 1 0 0 17 Nov 24 16:45 libcrypt.so.1 -> libcrypt-2.5.so lrwxrwxrwx 1 0 0 13 Nov 24 16:45 libc.so.6 -> libc-2.5.so -rw-r--r-- 1 0 0 76415 Nov 18 11:07 libdl-2.5.so lrwxrwxrwx 1 0 0 14 Nov 24 16:45 libdl.so.2 -> libdl-2.5.so -rw-r--r-- 1 0 0 608264 Nov 18 11:06 libm-2.5.so lrwxrwxrwx 1 0 0 13 Nov 24 16:45 libm.so.6 -> libm-2.5.so lrwxrwxrwx 1 0 0 17 Nov 24 16:45 libncurses.so.5 -> libncurses.so.5.4 -rw-r--r-- 1 0 0 333898 Oct 25 15:23 libncurses.so.5.4 -rw-r--r-- 1 0 0 155680 Nov 18 11:08 libnsl-2.5.so lrwxrwxrwx 1 0 0 15 Nov 24 16:45 libnsl.so.1 -> libnsl-2.5.so -rw-r--r-- 1 0 0 78480 Nov 18 11:08 libnss_compat-2.5.so lrwxrwxrwx 1 0 0 22 Nov 24 16:45 libnss_compat.so.2 -> libnss_compat-2.5.so -rw-r--r-- 1 0 0 75951 Nov 18 11:07 libnss_dns-2.5.so lrwxrwxrwx 1 0 0 19 Nov 24 16:45 libnss_dns.so.2 -> libnss_dns-2.5.so -rw-r--r-- 1 0 0 80881 Nov 18 11:07 libnss_files-2.5.so lrwxrwxrwx 1 0 0 21 Nov 24 16:45 libnss_files.so.2 -> libnss_files-2.5.so -rw-r--r-- 1 0 0 76991 Nov 18 11:07 libnss_hesiod-2.5.so lrwxrwxrwx 1 0 0 22 Nov 24 16:45 libnss_hesiod.so.2 -> libnss_hesiod-2.5.so -rw-r--r-- 1 0 0 81285 Nov 18 11:08 libnss_nis-2.5.so -rw-r--r-- 1 0 0 80778 Nov 18 11:08 libnss_nisplus-2.5.so lrwxrwxrwx 1 0 0 23 Nov 24 16:45 libnss_nisplus.so.2 -> libnss_nisplus-2.5.so lrwxrwxrwx 1 0 0 19 Nov 24 16:45 libnss_nis.so.2 -> libnss_nis-2.5.so -rw-r--r-- 1 0 0 120062 Nov 18 11:07 libpthread-2.5.so lrwxrwxrwx 1 0 0 19 Nov 24 16:45 libpthread.so.0 -> libpthread-2.5.so -rw-r--r-- 1 0 0 83068 Nov 18 11:07 libresolv-2.5.so lrwxrwxrwx 1 0 0 18 Nov 24 16:45 libresolv.so.2 -> libresolv-2.5.so -rw-r--r-- 1 0 0 85849 Nov 18 11:07 librt-2.5.so lrwxrwxrwx 1 0 0 14 Nov 24 16:45 librt.so.1 -> librt-2.5.so -rw-r--r-- 1 0 0 74928 Nov 18 11:07 libSegFault.so -rw-r--r-- 1 0 0 76236 Nov 18 11:08 libutil-2.5.so lrwxrwxrwx 1 0 0 16 Nov 24 16:45 libutil.so.1 -> libutil-2.5.so drwxr-xr-x 2 0 0 48 Nov 24 17:32 modules /usr/lib: total 3659 lrwxrwxrwx 1 0 0 12 Nov 24 17:16 libform.so -> libform.so.5 lrwxrwxrwx 1 0 0 14 Nov 24 17:16 libform.so.5 -> libform.so.5.4 -rw-r--r-- 1 0 0 67720 Oct 25 15:23 libform.so.5.4 lrwxrwxrwx 1 0 0 12 Nov 24 17:16 libmenu.so -> libmenu.so.5 lrwxrwxrwx 1 0 0 14 Nov 24 17:16 libmenu.so.5 -> libmenu.so.5.4 -rw-r--r-- 1 0 0 35913 Oct 25 15:23 libmenu.so.5.4 lrwxrwxrwx 1 0 0 19 Nov 24 17:16 libm.so -> ../../lib/libm.so.6 lrwxrwxrwx 1 0 0 13 Nov 24 17:25 libpanel.so -> libpanel.so.5 lrwxrwxrwx 1 0 0 15 Nov 24 17:25 libpanel.so.5 -> libpanel.so.5.4 -rw-r--r-- 1 0 0 17126 Oct 25 15:23 libpanel.so.5.4 lrwxrwxrwx 1 0 0 24 Nov 24 17:16 libresolv.so -> ../../lib/libresolv.so.2 lrwxrwxrwx 1 0 0 20 Nov 24 17:16 librt.so -> ../../lib/librt.so.1 #lrwxrwxrwx 1 0 0 18 Nov 24 17:16 libstdc++.so -> libstdc++.so.6.0.3 #lrwxrwxrwx 1 0 0 18 Nov 24 17:16 libstdc++.so.6 -> libstdc++.so.6.0.3 #-rwxr-xr-x 1 0 0 3598726 Nov 11 09:45 libstdc++.so.6.0.3 lrwxrwxrwx 1 0 0 19 Nov 24 17:16 libtermcap.so -> libtermcap.so.2.0.8 lrwxrwxrwx 1 0 0 19 Nov 24 17:16 libtermcap.so.2 -> libtermcap.so.2.0.8 -rwxr-xr-x 1 0 0 11604 Oct 25 15:20 libtermcap.so.2.0.8 lrwxrwxrwx 1 0 0 22 Nov 24 17:16 libutil.so -> ../../lib/libutil.so.1
  7. НАШЕЛ КОСЯК!!!!!!!!!!!!! фуф...ну рассказываю по порядку. Среда ADS1.2 Во первых, я немного слукавил, ибо ISR у меня называется не DbguUart_Irq, а GpsUart_Irq. Это Важно!!!:) Решил-ка я нажать ALT-F7 и глянуть дизасм. void GpsUart_Irq(void) { .............. } GpsUart_Irq 0x0000008c: e92d5070 pP-. STMFD r13!,{r4-r6,r12,r14} 0x00000090: e59f6340 @c.. LDR r6,0x3d8 0x00000094: e92d000f ..-. STMFD r13!,{r0-r3} 0x00000098: e5d60000 .... LDRB r0,[r6,#0] 0x0000009c: e24dd004 ..M. SUB r13,r13,#4 0x000000a0: e3500000 ..P. CMP r0,#0 0x000000a4: 13a0002a *... MOVNE r0,#0x2a 0x000000a8: 1bfffffe .... BLNE _putch0 0x000000ac: e3a00001 .... MOV r0,#1 0x000000b0: e5c60000 .... STRB r0,[r6,#0] 0x000000b4: e3a05000 .P.. MOV r5,#0 0x000000b8: e5154dec .M.. LDR r4,[r5,#-0xdec] 0x000000bc: e3a0002e .... MOV r0,#0x2e 0x000000c0: ebfffffe .... BL _putch0 0x000000c4: e3140001 .... TST r4,#1 0x000000c8: 0a000002 .... BEQ {pc} + 0x10; 0xd8 0x000000cc: e3a00072 r... MOV r0,#0x72 0x000000d0: ebfffffe .... BL _putch0 0x000000d4: e5150de8 .... LDR r0,[r5,#-0xde8] 0x000000d8: e3a00f80 .... MOV r0,#0x200 0x000000dc: e5050df4 .... STR r0,[r5,#-0xdf4] 0x000000e0: e5c65000 .P.. STRB r5,[r6,#0] 0x000000e4: e5055ed0 .^.. STR r5,[r5,#-0xed0] 0x000000e8: e28dd004 .... ADD r13,r13,#4 [b] 0x000000ec: e8bd001f .... LDMFD r13!,{r0-r4} 0x000000f0: e8bd5060 `P.. LDMFD r13!,{r5,r6,r12,r14} 0x000000f4: e25ef004 ..^. SUBS pc,r14,#4[/b] добавляю я к объявлению ISR ключевое слово "__irq" и смотрю дизасм, тоже самое! т.е. функция GpsUart_Irq компилируется одинаково что с __irq что без! А именно как с __irq!!!!....нихрена себе! Изменил я название функции GpsUart_Irq на GpsUart_Irq2 и все заработало! а теперь почему это происходит, я не зря сказал внечале про назвние функций, дело в том, что я корректирую проект для другого девайса на базе SAM7 с проекта девайса на базе LPC. А там, у меня эта функция была как __irq. Ну и чтобы не создавать проект заново и добавлять файлы, я просто создал новую директорию, перекопировал туда проект под LPC и уже потом начал изменять в соответствии с периферией SAM7. И решил в новом проекте сделать в этой GpsUart_Irq сигнал в задачу. Так вот, ADS этот видимо чтото не "почистил" в проекте и упорно компилит ее как __irq, видимо гдето у него в проектных файлах это засело, не знаю. remove object code не помогает. все пути вроде исправил - пофиг. Ну вот собственно и все, переименовал ее и все заработало! Спасибо за участие!
  8. написал такой тест: void DbguUart_Irq(void) { if (isr_cnt) { putch0('*'); } isr_cnt = 1; ............. isr_cnt = 0; SAM256_AIC->EOICR = 0; } выдает '*'!!! хм...буду выяснять почему только я не пойму что происходит, все остальные ISR работают, а тут я еще заметил такую штуку - увеличиваю стек под ту задачу (она у меня сейчас вообще одна и даже системный таймер остановлен), задача состоит из while(1). Эта ISR "держиться" дольше (принимает больше символов по прерыванию), уменьшаю стек - соответственно меньше... ...через некоторое время крах полный...
  9. это из порта DbguUart_Irq_UCOS STMFD SP!, {R1-R3} ; PUSH WORKING REGISTERS ONTO IRQ STACK MOV R1, SP ; Save IRQ stack pointer ADD SP, SP,#12 ; Adjust IRQ stack pointer SUB R2, LR,#4 ; Adjust PC for return address to task MRS R3, SPSR ; Copy SPSR (i.e. interrupted task CPSR) to R3 MSR CPSR_c, #(NO_INT | SVC32_MODE); Change to SVC mode ; SAVE TASK CONTEXT ONTO TASK STACK STMFD SP!, {R2} ; Push task Return PC STMFD SP!, {LR} ; Push task LR STMFD SP!, {R4-R12} ; Push task R12-R4 LDMFD R1!, {R4-R6} ; Move task R1-R3 from IRQ stack to SVC stack STMFD SP!, {R4-R6} STMFD SP!, {R0} ; Push task R0 onto task stack STMFD SP!, {R3} ; Push task CPSR (i.e. IRQ SPSR) LDR R4, =OSTCBCur ; OSTCBCur->OSTCBStkPtr = SP LDR R5, [R4] STR SP, [R5] ; MSR CPSR_c, #(NO_INT | IRQ32_MODE); Change to IRQ mode (to use the IRQ stack to handle interrupt) BL DbguUart_Irq ; OS_CPU_IRQ_ISR_Handler(); MSR CPSR_c, #(NO_INT | SVC32_MODE); Change to SVC mode BL OSIntExitI ; OSIntExit(); ; RESTORE NEW TASK CONTEXT LDMFD SP!, {R4} ; Pop new task CPSR MSR SPSR_cxsf, R4 LDMFD SP!, {R0-R12,LR,PC}^ ; Pop new task context это ISR void DbguUart_Irq(void) { REG_t u32_t dw ; REG_t u32_t csr ; csr = SAM256_DBGU->SR; if (csr & UART_SR_RXRDY) { dw = SAM256_DBGU->RHR; // putch0('r'); } ///////////////////////////////////////////////// if (csr & UART_SR_TXEMPTY) { // putch0('t'); if (SAM256_DBGU->IMR & UART_SR_TXEMPTY) { SAM256_DBGU->THR = 't'; } else { SAM256_DBGU->IDR = UART_SR_TXEMPTY; } } ///////////////////////////////////////////////// SAM256_AIC->EOICR = 0; } установка SAM256_AIC->SMR[SYSC_PH_ID] = 0; SAM256_AIC->SVR[SYSC_PH_ID] = (u32_t)&DbguUart_Irq_UCOS; ну и вектора LDR PC, Reset_Addr LDR PC, Undefined_Addr LDR PC, SWI_Addr LDR PC, Prefetch_Addr LDR PC, Abort_Addr NOP ; Reserved vector LDR PC, [PC,#-0xF20] ; IRQ_Addr LDR PC, FIQ_Addr т.е. с этим портом на LPC ни одной проблемы не было, в SAM7 на другиx источниках прерываний тоже проблем нет, а если на прерывание 1, но стразу завис.
  10. SAM7S. Sys Interrupt под UCOS

    проблема такая : в системном контроллере включен только DBGU. По прерыванию. Если ISR DBGU не обрамляется UCOS функциями входа и выхода в прерывание вся система работает идеально. Сейчас вот решил довать в данную ISR сигнал в задачу и обрамил ее функциями UCOS. ISR DBGU успевает передать пару байт при старте и система виснет. Убираю обрамление - все работает.. В проекте аналогично обрамлены еще 3 ISR (uart0,1 и таймер0). Они работают проблем нет. А этот Interrupt source 1 какой то "заколдованный", вроде бы от других не отличается. Что может быть?
  11. пин PLLRC в SAM7S256

    да нет, в этом девайсе она мне точно не понадобится. хочется просто упростить монтаж ну и сэкономить 10 копеек:)
  12. пин PLLRC в SAM7S256

    воздух, gnd или на питание? чтобы потребление было поменьше.
  13. что значит разместить? объявить переменную типа структуры по определенному адресу на этапе компиляции или считывать из флэши данные как будто из структуры? Если второе то смотрите как объявлены "SFR" регистре в H файле Если первое то наверное это поможет http://www.keil.com/support/man/docs/ca/ca_le_absvarloc.htm
  14. SAM7S256

    Вобщем после нескольких экспериментов получились такие данные: (тестер UNI-T UT33C висит на 1.8V) Программа 1: 1) while(1); жрет примерно 2.7mA Откуда? Смотрю во Flash DC там Read @30M стоит макс 3.0mA т.е. это видимо жрет флэш? Программа 2: 1) Включаю осциллятор (3.6М) 2) Включаю мастер клок 3) While(1) Система есть 4.7mA что, при включении кварца на 3.6М и вычисления mA/М этих армов дает примерно правильный прирост. Программа 3: 1) SAM256_PMC->SCDR = 1; // idle моде 2) while(1); Потребление чуть ли не ~12 uA При этом выключен трансивер USB включение которого добавляет ~60uA Ессно надо будет включить еще PIO чтобы выйти из Idle. Программа 4: 1) Включаю осциллятор (3.6М) 2) SAM256_PMC->SCDR = 1; // idle моде 3) while(1); Потребление + 50 uA . Примерно как и по даташиту (потребление осциллятора) вот такие результаты. Получается что те злосчастные 2.7mA ест флэш сама по себе. Параллельно всплыла еще одна штука. Когда я включаю строку в программе SAM256_PMC->SCDR = 1; // idle моде и заливаю во флэш с помощью ADS AXD(через RDI) то 1 раз заливается ОK, а после переключения питания уже законнектиться не может. Говорит "не может Halt ARM ядро". Выручает только ERASE проца через пин. Это так и должно быть? Ну и заоодно посоветуйте нормальный ампер/микро метр, а то система измерения тока с имеющимся тестером довольна глючна.
×
×
  • Создать...