teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

Revision:
34:348991c54ff3
Parent:
33:a60abda630f7
Child:
35:11a51a36c494
--- a/main.cpp	Wed May 30 04:24:55 2018 +0000
+++ b/main.cpp	Sat Jun 02 14:48:26 2018 +0000
@@ -322,7 +322,7 @@
     pwmPeriod = 100000;
     SD1.period_us(pwmPeriod);
     modemCom::atendendoWebServer = false;
-    serialPC::serialPC_init();
+    
     printf("Versao: %s.\r\n",firmVersion);
     printf("Reset Causes: %s.\r\n",resetCauses);
     modemCom::timeOutModem = 30;
@@ -359,8 +359,24 @@
 }
 
 //Inicio do programa;
-int main() {
-    sprintf(firmVersion,"Ver29/05/18_1.0Bc");
+int main() {    
+    flashPrepare();
+    firmDescToRam();
+    serialPC::serialPC_init();
+    pc.printf("firmDesc: nome <%s> tamFirmware = %lu executaBootLoader = %u.\r\n",(char*)&memBufConfigBootLoader[5],tamFirmware,executaBootLoader);
+    
+    if(executaBootLoader==1){        
+        executaBootLoader=0;
+        pc.printf("Chamando o bootloader logo apos dar reset.\r\n");
+        while( ((LPC_UART0->LSR >> 6) &0x1) == 0 );
+        //__disable_irq();        
+        SysTick->CTRL &= ~0x00000002;           // disable SysTick interrupt
+        NVIC_DeInit();
+        firmDescToFlash();
+        bootLoader();        
+    }
+    
+    sprintf(firmVersion,"30/05/18(BL)");
     
 
     eInt1.rise(&diversos::processaPulsosEDs);
@@ -384,14 +400,14 @@
     eventosRTC::rotinaEnvioDeDados=maxTentativasEnvioDados;    
     osSignalSet(idThreadComunicacoes, 0x1);    
     
-    pc.printf("E agora jose? Estou escrevendo um texo enorme so para falar que essa porra esta funcionando literalmente muito bem, finalmente.\r\n");
+    
         
     while(true){
         osDelay(100);
         if(callBootLoader){
             diversos::wdt.kick(90.0);
             SysTick->CTRL &= ~0x00000002;           // disable SysTick interrupt
-            //NVIC_DeInit();
+            NVIC_DeInit();
             
             //Bloco novo
             //SysTick->CTRL = 0;
@@ -407,10 +423,15 @@
             //__DSB();
             //Bloco novo
             //__disable_irq();
+            //__disable_irq();
             bootloader_fillUpFlash(&sdCard::newFirmware);
-            //while( ((LPC_UART0->LSR >> 6) &0x1) == 0 );
+            pc.printf("Logo depois de fillUpFlash firmDesc: nome <%s> tamFirmware = %lu\r\n",(char*)&memBufConfigBootLoader[5],tamFirmware);  
+            
+            
+            NVIC_SystemReset();
+            /*while( ((LPC_UART0->LSR >> 6) &0x1) == 0 );
             //__enable_irq();
-            bootLoader();
+            bootLoader();*/
         }
 
         /*---------------------Bloco de prevenção de bloqueio-------------------------------*/