This resource is the engineering source code of a project I participated in, and it is shared for beginners to learn. It covers ucOS, ucGUI, LWIP protocol stack, USB protocol stack, T9 input method, task priority assignment, etc. In addition, it also includes engineering application codes for drivers of UART, SPI, I2S, SDRAM, NORFLASH and keyboard scan chips. A good choice for beginners.
Resource download address: https://download.csdn.net/download/gaojy19881225/10365981
The following is an introduction to the resource readme.
Original program model: 1. This routine is the use routine of uCOSII2.91+UCGUI3.90A. 2. Instructions for use (1) Download the compiled hex file to the development board and restart the running code. (2) After the code runs, the calibration interface of UCGUI will appear. Click the corresponding area to complete the calibration process according to the instructions, and then enter the routine demonstration interface. Modified program: 1. Remove UCGUI 2. Increase the LWIP protocol stack 3. Increase the USB protocol stack 4. Add UCGUI 5. Revised display control program 6. Add T9 input method task prioritization Note: The addition of tasks cannot be the same as the existing priority **************** User Created Task ************************ Ethernet related: Priority: 3 tcpip_thread: The core task of processing messages such as sending and receiving packets at the Ethernet network layer Priority: 4 ethernetif_input: physical layer receive packet task Priority: 5 Upgrade_init: single-mode BDU and ADU upgrade tasks Priority: 7 tcp_client: The TCP server hangs when there is no connection or data. Question: How to judge the sudden unplugging of the network cable. Priority: 6 tcp_server: TCP client no connection or countless
It hangs when it is reported, and does not scan a connection every 2s. Question: How to judge the sudden unplugging of the network cable. Priority: 8 udptsk_send: UDP send Priority: 9 udptsk_rcv: hang when UDP receive no data //USB相关: 优先级:11 // usb_thread:USB任务 cmd_send_deal: 优先级:12 __taskUsbSheduler:USB调度任务 无事件时挂起 优先级:13 __taskUsbEnum: 枚举任务 运行完自己删除 IIS相关: 优先级:10 //优先级:14 //uart_thread: 串口处理 优先级: 15 uctsk_UCGUI 显控 优先级: 16 lcdRefresh 刷屏 优先级:14 keyHandle: 键盘扫描 ************** 系统运行维护相关 *********************** 优先级:OS_LOWEST_PRIO - 2 61 OSTmr_Task:处理定时器相关 优先级:OS_LOWEST_PRIO - 1 62 OS_TaskStat:处理多任务环境,计算CPU占用率 优先级:OS_LOWEST_PRIO 63 OS_TaskIdle:空闲任务 //=====================sdram使用情况 0xa0000000~0xa0ffffff :空间供程序运行使用,系统自动分配 0xa1000000~0xa10257ff :屏缓存用 0xa1030000~0xa1031fff :DMABUF1 0xa1032000~0xa1033fff :DMABUF2 0xa1100000 :IAP_BUFFER_SYSTEM 0xa1104000 :IAP_BUFFER_FLASH 0xa1150000 :UPGRADE_BUFFER_NORFLASH 0xa1400000 :ADU_SYSTEM_LOW 0xa1404000 :ADU_FLASH_LOW 0xa1480000 :ADU_SYSTEM_HIGH 0xa1484000 :ADU_FLASH_HIGH //============================NORFLASH使用情况 0x90000000 : NORFLASHAREA_LOW 0x90300000 : NORFLASHAREA_HIGH 0x90600000 : ADU_NOR_SYS_LOW 0x90604000 : ADU_NOR_FLA_LOW 0x90680000 : ADU_NOR_SYS_HIGH 0x90684000 : ADU_NOR_FLA_HIGH 0x90700000 : PHONEBOOK//指向地址簿地址 : 0x90710000 : MESSAGER //指向接收短信存储地址 0x90720000 : MESSAGES //指向发送短信存储地址 : 0x90730000 : CALLLOG1//指向通话记录未接电话存储地址 0x90740000 : CALLLOG2//指向通话记录已接电话存储地址 0x90750000 : CALLLOG3//指向通话记录已拨电话存储地址 0x90760000 : SETPARA //指向参数存储地址,分配一个2K的扇区 //==============2013-4-25所做修改 覆盖: 1.emc_lpc177x_8x.c 2.system_lpc177x_8x.c 增加目录: ucGUI/Config LCDDriver ucGUI/GUI_X input lib 修改: main.c(增加emc相关初始化、替换显控任务)