
neclues
yangzhao0001
这个作者很懒,什么都没留下…
展开
-
Nucleus中断处理过程!!!!
Nucleus的中断分为管理的和非管理的中断。管理中断:需要向操作系统注册该中断向量,中断产生后通过该中断向量注册的低级中断服务程序(LISR)来激活高级的中断服务程序(HISR)。非管理中断:不需要通过操作系统进行管理,直接将中断服务程序挂到中断向量表上,上下文的保存与恢复都要用户自己来做,该中断自己不能嵌套,最好不要被管理的中断再次中断否则会引起堆栈出错,而且非转载 2015-09-14 09:55:27 · 512 阅读 · 0 评论 -
CDS 将工程中的模块打包成库(即**.o文件)的过程
1、 先提取出项目中需要打包成库的**.o文件2、 再使用C-Sky Console,进入对应项目的debug中3、 输入 csky-elf-ar cru xx.a(打包后的库文件) 对应需要打包的**.0文件 //4、右击在对应的CDS中的不用的文件,选择Exclude from build ,选择Select All ,然后OK原创 2015-11-05 19:47:49 · 881 阅读 · 0 评论 -
详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析
DHCP的作用:在局域网中,用户电脑都需要IP地址才使用网络服务,但是客户并不都会配置IP地址,这时,可以在网络中部署一个DHCP服务器,用来给这些客户主机动态的分配IP。所有DHCP的客户端,在向DHCP服务器租用到地址后,会在DHCP服务器端留下租用信息,网络管理员可以根据这些分配信息统一管理这些客户。DHCP的一些概念:DHCP是一个典型的Client/Server模型的协议转载 2015-11-06 14:04:44 · 3603 阅读 · 0 评论 -
常用协议类型值
Ethertype ( 十六进制 ) 协议 0x0000 - 0x05DC IEEE 802.3 长度 0x0101 – 0x01FF 实验 0x0600 XEROX NS IDP 0x0660 0x0661 DLOG 0x0800 网际协议(IP) 0x0801 X.75 Internet 0x0802 NBS Internet 0x0803 ECMA转载 2015-11-09 10:12:40 · 5013 阅读 · 0 评论 -
浅谈原始套接字 SOCK_RAW 的内幕及其应用(port scan, packet sniffer, syn flood, icmp flood)
一、SOCK_RAW 内幕首先在讲SOCK_RAW 之前,先来看创建socket 的函数:int socket(int domain, int type, int protocol);domain :指定通信协议族(protocol family/address)/usr/include/i386-linux-gnu/bits/socket.h转载 2015-09-21 14:29:13 · 630 阅读 · 0 评论 -
lwip 低级、连续、高级 socket编程介绍
今天看书,忽然发现对于lwip来说,使用BSD socket编程,对于嵌入式系统来说,是一种低效的方式,但是胜在简单、移植性好。1、使用raw/callback API编程,用户编程的方法是向内核注册各种自定义的回调函数,回调函数是与内核实现交换的唯一方式。recv_udp, accept_function, sent_tcp, recv_tcp, do_connected, po原创 2015-09-21 15:20:38 · 8511 阅读 · 0 评论 -
LWIP使用经验---变态级(好文章)
LWIP使用经验一 LWIP内存管理数据包管理设置内存大小宏编译开关二 LWIP启动时序三 LWIP运行逻辑接收数据包SequentialAPI函数调用四 TCPIP核心知识点滑动窗口三次握手断开连接TCP状态转换同时打开同时关闭五正确使用LWIP六 LWIP常见问题网卡驱动程序内存泄露PC机无法与LWIP建立TCP连接转载 2015-09-21 14:19:53 · 64595 阅读 · 4 评论 -
typedef
在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。中文名声明类型外文名typedef性 质声明定义存 储存储类的关键字差 别与宏定义有些差异目转载 2015-11-12 00:40:54 · 497 阅读 · 0 评论 -
为提高系统Nucleus OS 模块间的独立性,对Nucleus Plus内核模块分析和优化的归纳
为提高系统Nucleus OS 模块间的独立性,对Nucleus Plus内核模块分析和优化的归纳1、Nucleus Plus组件定义规范文件 意义XX_DEFS.H 组件的常量和数据类型。XX_EXTR.H 组件的外部接口定义在这个文件中,外部接口一函数原型的方式定义。XXD.C 组件的就爱那个图和全局比那里定义在这个文件中,除了很少的例外,一个组件的数据结构仅仅原创 2015-09-24 10:04:29 · 800 阅读 · 0 评论 -
为提高系统Nucleus OS 模块间的独立性,对Nucleus Webserv模块分析和优化的归纳
1、Nucleus Webserv分析及归纳子文件夹:Inc、SRC(1)名字对比Inc:NU_WEBSR.H 包含了所有Webserv下的头文件和Nucleus OS基础的头文件;ps_pico.h 仅提供向后兼容,仅为插件提供支持。包含了NU_WEBSR.H,和HTTP相关的宏定义和结构体;原创 2015-09-23 15:00:45 · 907 阅读 · 0 评论 -
LwIP源代码文件目录解析
1 -- LwIP源代码文件目录root@motadou:/home/motadou/lwip/lwip-1.4.1# tree .├── CHANGELOG├── COPYING├── doc│ ├── contrib.txt│ ├── FILES│ ├── rawapi.txt│ ├── savannah.txt│ ├── snmp_agent.txt转载 2015-11-25 15:04:59 · 663 阅读 · 0 评论 -
csky 查看内存使用
命令:Debug>csky-elf-readelf -S *.elfdata:存放已初始化的变量,如 全局变量 = 8;bss:存放未初始化和初始化为0的变量。原创 2015-11-02 10:22:49 · 644 阅读 · 0 评论 -
CDS 网络通信,异常重启---调试
1原创 2015-11-02 15:18:38 · 1768 阅读 · 1 评论 -
csky elf文件反汇编命令
1、进入Debug(当然也可以不用进)Debug>2、输入命令进行反汇编Debug>csky-uclinux-objdump -S Sec-chip.elf > 1.asm若没有> 1.asm,则会直接在控制台中打印:3、使用记事本打开asm文件,asm文件就是反汇编后的文件。原创 2015-11-04 11:06:08 · 2261 阅读 · 0 评论 -
Nucleus PLUS任务调度
RTOSNucleus任务调度嵌入式目录(?)[-]概述一任务调度算法二Nucleus PLUS任务管理1主要任务控制结构2任务优先级管理1 TCD_Priority_Groups2 TCD_Sub_Priority_Groups3 TCD_Lowest_Set_Bit4 任务创建和优先级管理的基本过程概述Nucleus Pl转载 2015-09-14 10:03:36 · 1279 阅读 · 0 评论 -
嵌入式实时操作系统Nucleus PLUS综述
近些年来,随着嵌入式系统飞速的发展,嵌入式实时操作系统广泛地应用在制造工业、过程控制、通讯、仪器仪表、汽车、船舶、航空航天、军事、装备、消费类产 品等方面。Nucleus PLUS 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。又因Nucleus PLUS源代码开放、开发/移植方便、功能模块丰富、易于裁剪而转载 2015-09-14 10:08:50 · 732 阅读 · 0 评论 -
Nucleus PLUS系统架构和组件
嵌入式RTOSNucleus软件组件Nucleus组件目录(?)[-]一组件和软件组件方法学1软件组件Software Component的定义2软件组件方法学二Nucleus PLUS系统架构三Nucleus PLUS的组件1通用服务组件Common Service ComponentCS2初始化组件Initialization ComponentIN转载 2015-09-14 10:07:56 · 1455 阅读 · 0 评论 -
LwIP网络接口结构体---netif
在lwIP中,是通过结构体netif来描述一个硬件网络接口的,在单网卡中,这个结构体只有一个,多网卡中可有何网卡数目相同的netif结构体,它们构成一个数据链。下面的代码选自netif.h,是netif结构体的代码描述:/** Generic data structure used for all lwIP network interfaces. * The following field转载 2015-09-14 14:48:16 · 1199 阅读 · 0 评论 -
Nucleus PLUS应用系统示例
这个Nucleus PLUS系统应用示例包括application_initialization和六个任务,任务在application_initialization中创建。这个示例系统体现了Nucleus PLUS的任务调度和执行过程、任务间通信和同步(信号量、事件组)。Application_Initialize位于29-70行。示例系统的所有系统对象(任务、队列、信号量、事件组)都在转载 2015-09-14 10:13:27 · 842 阅读 · 0 评论 -
Nucleus PLUS的启动、运行线程和中断处理
nucleus系统是实时嵌入式操作系统,具有实时、任务抢先、多任务内核,其中95%的代码由C语言写成,极易移植,开放的源码使得配置和裁剪方便,再加上体积小(全部二进制映像可仅20K)、响应快速等特性,使得Nucleus PLUS得到广泛应用。另外,所谓的实时指的是对外部或者内部的事件在正确的时间内必须得到正确的响应,而不仅仅指的是“立即能够响应”。(一)Nucleus PLUS启动流程转载 2015-09-14 10:10:04 · 551 阅读 · 0 评论 -
Nucleus进程间通信(IPC)方式
RTOS通信ipcNucleus操作系统实时操作系统Nucleus Plus提供了6种进程间通信方式,分别为:邮箱(mailboxes)、消息队列(queues)和管道(pipes)、信号量(semaphores)、事件集(event groups)和消息(signals)。前三者用于进程间通信,后三者用于进程同步,本文总结了Nucleus Plus进程间通信方式。i,首先说明Nucl转载 2015-09-14 10:15:34 · 697 阅读 · 0 评论 -
neclues lwip 的 bind、send 发送调用过程和等待唤醒条件
1、bindbindlwip_bindnetconn_bind{ msg.function = do_bind; msg.msg.conn = conn; msg.msg.msg.bc.ipaddr = addr; msg.msg.msg.bc.port = port; err = TCPIP_APIMSG(&msg); ==>sys_arch原创 2015-09-14 16:53:48 · 1807 阅读 · 0 评论 -
CDS 未对齐访问异常
1、代码如下2、汇编如下3、分析r0:栈地址r15:返回时的跳转地址r2:第一个传入参数的地址8000cf6e: 8005 ld r0, (r5, 0) 设置栈地址8000cf70: 24f0 subi r0, r0, 16 栈空间8000cf72: 9f20 st原创 2015-11-02 19:55:53 · 729 阅读 · 0 评论 -
Nucleus SDIO 的 Bus Width 的修改过程
1、修改SDIO DEVICE的Bus Width(1)part1_410.pdf SD Specifications Part 1Physical LayerSimplified SpecificationVersion 4.10January 22, 2013不是SDIO DEVICE文档;(2)partA2_300.pdfSD Sp原创 2015-11-04 10:00:07 · 1464 阅读 · 0 评论 -
CDS 未对齐访问异常 【2】
1、异常表现图1 debug图2 pctrace view图3 control-registers图4 disassembly图5 main-registers2、分析(1)epsr 0x80010151分析知:未对齐访问异常(2)epc 0x8003b8de 和 图4 disassembly和原创 2015-11-30 14:46:26 · 694 阅读 · 0 评论