Skip to content

概述

本文介绍基于UC8088芯片下GPRS的软件架构及使用方式,以帮助用户快速进行二次开发。

代码目录结构

关于代码树中各个目录存放的源代码的相关内容简介如下:

一级目录 二级目录 三级目录 描述
arch asic link 链接文件
start_up 启动文件
driver inc _ 驱动头文件
src _ 驱动源文件
OS freertos config freertos配置文件
freertos_iot IOT相关代码
freertos_tcp TCP协议栈相关代码
src freertos内核源码
platform include _ 平台相关头文件
src _ 平台相关源文件
PS app eat eat头文件
gps GPS应用头文件
trx GPRS/GPS切换应用头文件
cce _ 公共部分cce头文件
gprs commen 静态数据应用头文件
sndcp SNDCP应用头文件
lib lib_gprs GPRS静态库
lib_gps GPS静态库
solution asic Debug 编译后中间文件生成目录(包含bin、elf文件)
src 应用代码
worksapce _ 工作空间文件
test_demo _ EAT二次开发参考demo

代码入口

gprs_customer 入口在工程对应的 /solution/asic/main.c 中,基本流程如下:

__reset1 int main(void)
{
    lpm_flag_check();//LPM标识检测

    static_inform_init();//静态数据的初始化

    prvSystemHeapInit(get_current_mode());//根据指定模式进行heap初始化

    #ifdef _ON_WATCH_ 
    __SET_WD_FEED_TIME_MS__(WATCHDOG_TIME);//设置硬件看门狗的喂狗时间
    __ENABLE_WD__();//启动硬件看门狗
    #endif

    #ifdef _SOFTDOG_
        __ENABLE_SD__();//启动软件看门狗
    #endif

    if(0 == get_first_start_flag())//设备是否为第一次启动(GPRS/GNSS切换时会采取软复位)
      rtc_init(UC_RTC); //RTC初始化

#ifdef EAT_TEST  
    app_startup(gps_pvt_callback); //初始化GPRS协议栈或启动GPS,gps_pvt_callback为GPS回调函数,它用为GPS二次开发使用
    eat_test_app();//EAT例程DEMO,二次开发可作参考
#else
    app_startup(NULL);//初始化GPRS协议栈或启动GPS
#endif

#ifdef _ON_WATCH_
     __FEED_WD__(); //硬件看门狗喂狗
#endif
#ifdef _SOFTDOG_
    __FEED_SD__(); //软件看门狗喂狗
#endif
    vTaskStartScheduler();//FreeRTOS任务调度开启
}

二次开发说明

在完成环境搭建之后,可直接在UCCHIP IDE中打开workspace工作空间文件(文件位置:/solution/workspace/uc8088_freeRTOS.workspace),打开后即可看到GPRS整个工程代码。gprs_customer 入口在工程对应的 /solution/asic/main.c 中。若您想编译GPRS模组版本,则无需添加任何东西,直接编译即可,生成的bin文件位于:solution/asic/Debug/main.bin。若您想在GPRS工程中做其它应用级的开发,您可参照main函数中的eat_test_app()接口函数,里面包含了关于TCP、HTTP、MQTT、GPRS/GNSS切换、短信发送等应用的相关例程,可通过打开相关的宏进行控制。

GPRS flash 使用说明

Back to top