Ejemplo n.º 1
0
void init_thread(void* parameter)
{
    rt_thread_t tid;

    rt_system_comonent_init();
    rt_hw_uart_init("uart0", 0);
    rt_console_set_device("uart0");
    rt_hw_sd_init("sd0");
    rt_hw_rtc_init();
    rt_hw_spi_init();
    rt_hw_pin_init("gpio");
    rt_hw_i2c_bit_ops_bus_init("i2c0");
    at24cxx_init("at24c02", "i2c0");
    rt_hw_ads7843_init("ads7843", "spi20");
    w25qxx_init("sf0", "spi21");
    rt_hw_lcd_init("lcd0");
    
    finsh_system_init();
 //   tid = rt_thread_create("usb", usb_thread_entry, RT_NULL, 1024, 9, 20);
   // rt_thread_startup(tid);
    
    if((*(uint32_t*)0x60000) != 0xFFFFFFFF)
    {
        tid = rt_thread_create("init", (void*)(0x60000), RT_NULL, 1024, 8, 20);
        rt_thread_startup(tid);
    }
    else
    {
        printf("addr:0x%X has no application\r\n", 0x60000);
    }
    rt_hw_enet_phy_init();

    tid = rt_thread_self();
    rt_thread_delete(tid); 
}
Ejemplo n.º 2
0
void rt_platform_init(void)
{
#ifdef RT_USING_SPI
    rt_hw_spi2_init();

#ifdef RT_USING_DFS
    w25qxx_init("flash0", "spi20");
#endif /* RT_USING_DFS */

#ifdef RT_USING_RTGUI
    /* initilize touch panel */
    rtgui_touch_hw_init("spi21");
#endif /* RT_USING_RTGUI */
#endif /* RT_USING_SPI */

#ifdef RT_USING_USB_HOST
    /* register stm32 usb host controller driver */
    rt_hw_susb_init();
#endif

#ifdef RT_USING_DFS
    /* initilize sd card */
#ifdef RT_USING_SDIO
    rt_mmcsd_core_init();
    rt_mmcsd_blk_init();
    stm32f4xx_sdio_init();
    rt_thread_delay(RT_TICK_PER_SECOND);
#else
    rt_hw_sdcard_init();
#endif
#endif /* RT_USING_DFS */

#ifdef RT_USING_RTGUI
    /* initilize ra8875 lcd controller */
    ra8875_init();

    /* initilize key module */
    rt_hw_key_init();
#endif /* RT_USING_RTGUI */

#ifdef RT_USING_RTC
    rt_hw_rtc_init();
#endif /* RT_USING_RTC */

    rt_thread_delay(50);
    rt_device_init_all();
}
Ejemplo n.º 3
0
/**
 * This function will startup RT-Thread RTOS.
 */
void rtthread_startup(void)
{
	/* 初始化硬件平台相关:时钟设置、中断设置、系统滴答设置、串口设置 */
	rt_hw_board_init();

	/* init tick */
	rt_system_tick_init();

	/* 内核对象初始化 */
	rt_system_object_init();

	/* 系统定时器初始化 */
	rt_system_timer_init();

	/* 如果使用动态内存分配,则配置之 */
#ifdef RT_USING_HEAP
#if STM32_EXT_SRAM
	rt_system_heap_init((void*)STM32_EXT_SRAM_BEGIN, (void*)STM32_EXT_SRAM_END);
#else
	#ifdef __CC_ARM
		rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)STM32_SRAM_END);
	#elif __ICCARM__
	    rt_system_heap_init(__segment_end("HEAP"), (void*)STM32_SRAM_END);
	#else
		/* init memory system */
		rt_system_heap_init((void*)&__bss_end, (void*)STM32_SRAM_END);
	#endif
#endif
#endif

	/* 系统调度器初始化 */
	rt_system_scheduler_init();

#ifdef RT_USING_DFS
	/* init sdcard driver */
#if STM32_USE_SDIO
	rt_hw_sdcard_init();
#else
	rt_hw_msd_init();
#endif
#endif

	/*下面可加入用户所需的相关初始化 */

	/*上面可加入用户所需的相关初始化 */


    /* 实时时钟初始化 */
#if(0)
    rt_hw_rtc_init();
#endif

	/* 系统设备对象初始化 */
	rt_device_init_all();

	/* 用户应用初始化 */
	rt_application_init();

#ifdef RT_USING_FINSH
	/* init finsh */
	finsh_system_init();
	finsh_set_device("uart1");
#endif

    /* 初始化软件定时器 */
    rt_system_timer_thread_init();

	/* 初始化空闲线程 */
	rt_thread_idle_init();

	/* 开始线程调度 此后便进入各个线程的无限循环 */
	rt_system_scheduler_start();

	/* never reach here */
	return ;
}
Ejemplo n.º 4
0
/**
 * This function will startup RT-Thread RTOS.
 */
void rtthread_startup(void)
{
	/* init board */
	rt_hw_board_init(); 
	

          //------------------------------------------
      #if 0    
       rt_kprintf("\n\r   starting...--------->>>>>>\r\n ");   

	//WatchDogInit();    
		 while(1)
	   	{      
	   	/* Insert 40 ms delay */
              DF_delay_us(1000);
		//IWDG_ReloadCounter();  
		}
     #endif     	


     #if  0
      rt_kprintf("\n\r   starting...\r\n ");   
	 


  while (1)
  {
     DF_delay_us(1000);
    /* Reload IWDG counter */
    //IWDG_ReloadCounter();  
  }
	 
 
	 
    #endif 	 
   rt_kprintf("\n\r   天津广通公司 北斗车载终端 GGHYPT  TW703-BD--14-9-17   Version 1.5 双Module  客运+货运    \r\n ");       
	/* show version */
	rt_show_version(); 

	/* init tick */
	rt_system_tick_init();

	/* init kernel object */
	rt_system_object_init();

	/* init timer system */
	rt_system_timer_init();

      rt_system_heap_init((void*)STM32_SRAM_BEGIN, (void*)STM32_SRAM_END);

	/* init scheduler system */
	rt_system_scheduler_init();

	/* init all device */
	rt_device_init_all();   

//------------------- Device  thread ----------------------------------
       


#ifdef RT_USING_FINSH
	/* init finsh */
	finsh_system_init();
	finsh_set_device( FINSH_DEVICE_NAME ); // mount on
#endif

    
     //---------------App Thread	 -----------------------	     
     Init_lcdkey(); //  提前初始化LCD  pins	
     delay_ms(1000); // 屏rst 拉低    维持一段时间 
     lcd_init();
// #ifdef  GSM_UART
		_gsm_startup();
 //#endif

 // #ifdef APP808
        Protocol_app_init();   
 // #endif
 
 // #ifdef _485_DEVICE
      _485_startup();
 // #endif

 // #ifdef GPS_UART
	  // gps_init();     
       mma8451_driver_init();      
 // #endif

     printer_driver_init();   

   //---  RTC  device Register--------------- 
    if( rt_hw_rtc_init()==1)
	{
	    RTC_Demo_init();   // Debug  Test  use  
	    rt_kprintf("\n\r   RTC -first conifg\r\n "); 
    }
  
	/* init application_ demo */
	rt_application_init();
  


// -------------------------------------------------------------------------

    /* init timer thread */
      rt_system_timer_thread_init(); 

	/* init idle thread */
	rt_thread_idle_init();

	/* start scheduler */
	rt_system_scheduler_start();

	/* never reach here */
	return ;
}
Ejemplo n.º 5
0
/**
 * This function will startup RT-Thread RTOS.
 */
void rtthread_startup(void)
{
	/* init board */
	rt_hw_board_init();

	/* show version */
	rt_show_version();

	/* init tick */
	rt_system_tick_init();

	/* init kernel object */
	rt_system_object_init();

	/* init timer system */
	rt_system_timer_init();

#ifdef RT_USING_HEAP
#if STM32_EXT_SRAM
	rt_system_heap_init((void*)STM32_EXT_SRAM_BEGIN, (void*)STM32_EXT_SRAM_END);
#else
	#ifdef __CC_ARM
		rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)STM32_SRAM_END);
	#elif __ICCARM__
	    rt_system_heap_init(__segment_end("HEAP"), (void*)STM32_SRAM_END);
	#else
		/* init memory system */
		rt_system_heap_init((void*)&__bss_end, (void*)STM32_SRAM_END);
	#endif
#endif
#endif

	/* init scheduler system */
	rt_system_scheduler_init();

#ifdef RT_USING_DFS
	/* init sdcard driver */
#if STM32_USE_SDIO
	rt_hw_sdcard_init();
#else
	rt_hw_msd_init();
#endif
#endif

	rt_hw_rtc_init();

	/* init application */
	rt_application_init();

#ifdef RT_USING_FINSH
	/* init finsh */
	finsh_system_init();
	finsh_set_device("uart1");
#endif

    /* init timer thread */
    rt_system_timer_thread_init();

	/* init idle thread */
	rt_thread_idle_init();

	/* start scheduler */
	rt_system_scheduler_start();

	/* never reach here */
	return ;
}
Ejemplo n.º 6
0
/**
 * This function will startup RT-Thread RTOS.
 */
void rtthread_startup(void)
{
	/* init board */
	rt_hw_board_init(); 
	

          //------------------------------------------
      #if 0    
       rt_kprintf("\n\r   starting...--------->>>>>>\r\n ");   

	//WatchDogInit();    
		 while(1)
	   	{      
	   	/* Insert 40 ms delay */
              DF_delay_us(1000);
		//IWDG_ReloadCounter();  
		}
     #endif     	


     #if  0
      rt_kprintf("\n\r   starting...\r\n ");   
	 


  while (1)
  {
     DF_delay_us(1000);
    /* Reload IWDG counter */
    //IWDG_ReloadCounter();  
  }
	 
 
	 
    #endif 	 
         rt_kprintf("\n\r   TCB 北斗车载终端 认证版本TW703-BD--13-1-24 - Version 1.0 !\r\n ");    
	/* show version */
	rt_show_version();

	/* init tick */
	rt_system_tick_init();

	/* init kernel object */
	rt_system_object_init();

	/* init timer system */
	rt_system_timer_init();

      rt_system_heap_init((void*)STM32_SRAM_BEGIN, (void*)STM32_SRAM_END);

	/* init scheduler system */
	rt_system_scheduler_init();

	/* init all device */
	rt_device_init_all();   

//------------------- Device  thread ----------------------------------
       


#ifdef RT_USING_FINSH
	/* init finsh */
	finsh_system_init();
	finsh_set_device( FINSH_DEVICE_NAME ); // mount on
#endif

 #ifdef  GSM_UART
      _gsm_startup();
#endif

  #ifdef _485_DEVICE
      //_485_app_init();
      //_485_set_device(_485_DEVICE); // mount  on
      _485_startup();
  #endif

  #ifdef GPS_UART
      // gps_app_init(); 
      // gps_set_device(GPS_DEVICE);  // mount on
	   gps_init();     
       mma8451_driver_init(); 
  #endif

     printer_driver_init();   

   //---  RTC  device Register---------------
  //
      if( rt_hw_rtc_init()==1)
	{
	    RTC_Demo_init();   // Debug  Test  use  
	    rt_kprintf("\n\r   RTC -first conifg\r\n ");  
    	}
  //---------------App Thread    ---------------------------
  #ifdef HMI
        HMI_app_init();  
  #endif
  

	  /* init application_ demo */
	  rt_application_init(); 

      #ifdef APP808
       Protocol_app_init();
      #endif

      // GB_19056 thread
	  GB_Drv_app_init();  
// -------------------------------------------------------------------------

    /* init timer thread */
      rt_system_timer_thread_init(); 

	/* init idle thread */
	rt_thread_idle_init();

	/* start scheduler */
	rt_system_scheduler_start();

	/* never reach here */
	return ;
}
Ejemplo n.º 7
0
/* thread phase init */
void rt_init_thread_entry(void *parameter)
{
    /* Filesystem Initialization */
#ifdef RT_USING_DFS
    {
		extern void ff_convert_init();

        /* init the device filesystem */
        dfs_init();

        /* init the elm FAT filesystam*/
        elm_init();

        /* mount spi flash fat as root directory */
        if (dfs_mount("spi0", "/", "elm", 0, 0) == 0)
        {
            rt_kprintf("SPI File System initialized!\n");

            /* mount sd card fat partition 1 as SD directory */
            if (dfs_mount("sd0", "/SD", "elm", 0, 0) == 0)
                rt_kprintf("SD File System initialized!\n");
            else
                rt_kprintf("SD File System init failed!\n");
        }
        else
            rt_kprintf("SPI File System init failed!\n");

#ifdef RT_DFS_ELM_USE_LFN
		ff_convert_init();
#endif
    }
#endif

    load_setup();

    /* RTGUI Initialization */
#ifdef RT_USING_RTGUI
    {
        extern void rt_hw_key_init(void);
        extern void remote_init(void);
		extern void rtgui_touch_hw_init(void);

        radio_rtgui_init();
        rt_hw_key_init();
		rtgui_touch_hw_init();
        remote_init();
    }
#endif

    /* set default setup */
    {
        extern void vol(uint16_t v);
        extern void brightness_set(unsigned int value);
        vol(radio_setup.default_volume);
        brightness_set(radio_setup.lcd_brightness);
    }

    /* start RTC */
    rt_hw_rtc_init();

    /* LwIP Initialization */
#ifdef RT_USING_LWIP
    {
        extern void lwip_sys_init(void);
        extern void rt_hw_dm9000_init(void);

        eth_system_device_init();

        /* register ethernetif device */
        rt_hw_dm9000_init();
        /* init all device */
        rt_device_init_all();

        /* init lwip system */
        lwip_sys_init();
        rt_kprintf("TCP/IP initialized!\n");
    }
#endif

#if STM32_EXT_SRAM
    /* init netbuf worker */
    net_buf_init(320 * 1024);
#endif

}
Ejemplo n.º 8
0
/* thread phase init */
void rt_init_thread_entry(void *parameter)
{
    /* Filesystem Initialization */
#ifdef RT_USING_DFS
    {
		extern void ff_convert_init();

		/* init the device filesystem */
		dfs_init();

		/* init the elm FAT filesystam*/
		elm_init();

		/* mount sd card fat partition 1 as SD directory */
		if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
			rt_kprintf("SD File System initialized!\n");
		else
			rt_kprintf("SD File System init failed!\n");
      
#ifdef RT_DFS_ELM_USE_LFN
		ff_convert_init();
#endif
    }
#endif
	
    /* load_setup(); */

    /* RTGUI Initialization */
#ifdef RT_USING_RTGUI
    {
        extern void rt_hw_key_init(void);
        extern void remote_init(void);
		extern void rtgui_touch_hw_init(void);

        radio_rtgui_init();
        rt_hw_key_init();
		rtgui_touch_hw_init();
        remote_init();
		brightness_set(radio_setup.lcd_brightness);
		//PCM1770_VolumeSet(radio_setup.default_volume);
    }
#endif
	
    /* start RTC */
    rt_hw_rtc_init();

    /* LwIP Initialization */
#ifdef RT_USING_LWIP
    {
        extern void lwip_sys_init(void);
        extern void rt_hw_dm9000_init(void);

        eth_system_device_init();

        /* register ethernetif device */
        rt_hw_dm9000_init();
        /* init all device */
        rt_device_init_all();
		
        /* init lwip system */
        lwip_sys_init();
        rt_kprintf("TCP/IP initialized!\n");
    }
#endif

#if STM32_EXT_SRAM
    /* init netbuf worker */
    net_buf_init(320 * 1024);
#endif
	
	/* TODO(CXF): start ftp and agent */
	ftpd_start();
}
Ejemplo n.º 9
0
Archivo: board.c Proyecto: bobo8909/RTT
void rt_platform_init(void)
{
#ifdef RT_USING_RTC
    rt_hw_rtc_init();
	#ifdef RT_USING_ALARM	
	rt_alarm_system_init(); 
	#endif		
	  /* 放在finsh中去设置初始时间 
	  set_date(2013,4,28);
	  set_time(10,8,24);
	  */
	  list_date();	
	
#endif /* RT_USING_RTC */	
#ifdef RT_USING_SPI
	{
		extern void rt_hw_spi1_init(void);
		rt_hw_spi1_init();
	}
    

#ifdef RT_USING_DFS
       w25qxx_init("flash0", "spi10");
#endif /* RT_USING_DFS */

#ifdef RT_USING_RTGUI
    /* initilize touch panel */
    //rtgui_touch_hw_init("spi11");
#endif /* RT_USING_RTGUI */
#endif /* RT_USING_SPI */

#ifdef RT_USING_USB_HOST
    /* register stm32 usb host controller driver */
    //rt_hw_susb_init();
#endif

#ifdef RT_USING_DFS
    /* initilize sd card */
#ifdef RT_USING_SDIO
     rt_mmcsd_core_init();
     rt_mmcsd_blk_init();
	{
		extern rt_int32_t stm32f1xx_sdio_init(void);
		stm32f1xx_sdio_init();
	}	
     rt_thread_delay(RT_TICK_PER_SECOND);
#else
     rt_hw_sdcard_init();
#endif
#endif /* RT_USING_DFS */

#ifdef RT_USING_RTGUI
    /* initilize ili9320 lcd controller */
    //lcd_9320_init();

    /* initilize key module */
    //rt_hw_key_init();
#endif /* RT_USING_RTGUI */

    rt_thread_delay(50);
    rt_device_init_all();
}