-
Постов
92 -
Зарегистрирован
-
Посещение
-
Есть в наличии 3200 штук. MSP430F169IPM rev.P541 продается все сразу или партиями от 500шт. Цена..... ну, начнем от $6 (торг уместен) Пока налом. Местонахождение Зеленоград/Москва. Возможна пересылка. Пишите, договоримся. В личку или romariok собака mail.ru
-
относительно срочно. контакты romariok на mail ру или сюда в личку
-
Ахринеть! спросил у человека ранее работавшего в компэле с 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" по умолчание он установлен, его то мы и сбросили. чтобы это значило? на что это может повлиять когда я его сбросил?
-
и как часто надо туда лезть? и почему собсно я должен его поддерживать чтобы он случайно не оборвался? это дело модема а не мое... повторюсь, на билайновской карте такого нет. p.s. по вашему мнению, я должен после открытия gprs ОЧЕНЬ быстро открыть tcp сессию (чтобы gprs не отвалился) а в ней постоянно пулять данные? :) ==================== короче ничего не понимаю, нашел корпоративную билайновскую карту и все тоже самое, tcp/gprs отваливается секунд через 10. а на моей, личной (билайн, года 2 уже ей) все ОК!
-
см. первый пост после линии '=================='
-
q2686h с картой MTS. рветcя GPRS соединение
Romario опубликовал тема в Сотовая связь и ее приложения
ситуация такая, сначала обнаружил что при выходе из прозрачного режима в командный хоть по +++ хоть по 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 отваливается! -
EmbLinux ramdisk
Romario опубликовал тема в Операционные системы
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 -
НАШЕЛ КОСЯК!!!!!!!!!!!!! фуф...ну рассказываю по порядку. Среда 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 не помогает. все пути вроде исправил - пофиг. Ну вот собственно и все, переименовал ее и все заработало! Спасибо за участие!
-
написал такой тест: void DbguUart_Irq(void) { if (isr_cnt) { putch0('*'); } isr_cnt = 1; ............. isr_cnt = 0; SAM256_AIC->EOICR = 0; } выдает '*'!!! хм...буду выяснять почему только я не пойму что происходит, все остальные ISR работают, а тут я еще заметил такую штуку - увеличиваю стек под ту задачу (она у меня сейчас вообще одна и даже системный таймер остановлен), задача состоит из while(1). Эта ISR "держиться" дольше (принимает больше символов по прерыванию), уменьшаю стек - соответственно меньше... ...через некоторое время крах полный...
-
это из порта 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, но стразу завис.
-
проблема такая : в системном контроллере включен только DBGU. По прерыванию. Если ISR DBGU не обрамляется UCOS функциями входа и выхода в прерывание вся система работает идеально. Сейчас вот решил довать в данную ISR сигнал в задачу и обрамил ее функциями UCOS. ISR DBGU успевает передать пару байт при старте и система виснет. Убираю обрамление - все работает.. В проекте аналогично обрамлены еще 3 ISR (uart0,1 и таймер0). Они работают проблем нет. А этот Interrupt source 1 какой то "заколдованный", вроде бы от других не отличается. Что может быть?
-
да нет, в этом девайсе она мне точно не понадобится. хочется просто упростить монтаж ну и сэкономить 10 копеек:)
-
воздух, gnd или на питание? чтобы потребление было поменьше.
-
что значит разместить? объявить переменную типа структуры по определенному адресу на этапе компиляции или считывать из флэши данные как будто из структуры? Если второе то смотрите как объявлены "SFR" регистре в H файле Если первое то наверное это поможет http://www.keil.com/support/man/docs/ca/ca_le_absvarloc.htm
-
Вобщем после нескольких экспериментов получились такие данные: (тестер 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 проца через пин. Это так и должно быть? Ну и заоодно посоветуйте нормальный ампер/микро метр, а то система измерения тока с имеющимся тестером довольна глючна.