01 2018 档案
摘要:1.前言 链接器的默认配置允许所有有效内存的分配,你可以使用MEMORY命令来重新定义它 2.MEMORY命令 MEMORY命令描述了一个内存块的位置和大小。你可以用它来描述哪块内存区域可以被链接器使用,哪块内存区域一定要避开。 你可以将段分配到特定的内存区域内,链接器会基于此内存区域设置段地址,如
阅读全文
摘要:1.前言 SECTIONS命令告诉链接器如何映射输入段到输出段以及在内存中如何放置输出段,SECTIONS命令的格式如下: sections-command可能是如下的一种: 一个ENTRY命令(看 Entry Command) 一个符号赋值(看 Assignments) 一个输出段描述 一个叠加描
阅读全文
摘要:1.前言 本章继续讲述简单脚本命令的后半部分 2.Assigning Values to Symbols 你可以给一个符号(symbol)赋值,它会把这些定义的符号放入全局符号表(symbols table)中 2.1 Assigning Values to Symbols 可以使用下面的C操作为一
阅读全文
摘要:1.前言 这个部分我们描述了简单的链接脚本命令 2.设置entry point 程序中第一条运行的指令被称为入口点entry point,可以使用ENTRY链接脚本命令设置entry point,参数是一个符号名: ENTRY(symbol) 有几种方法可以设置entry point,链接器会按照如
阅读全文
摘要:1.前言 为了尽可能的与其它链接器兼容,GNU链接器ld涵盖了很多情况。因此,有很多选项可以控制链接器的行为。 2. 命令行选项概述 链接器支持很多命令行选项,在特定的上下文,实际应用中只有很少一部分被使用。举例来说,ld用来链接unix系统的标准的unix对象文件,在这个系统中链接文件hello.
阅读全文
摘要:1.前言 FlexBus多功能外部总线接口控制器是一个硬件模块: (1)通过并行总线提供存储器扩展或与外设连接; (2)如下的同步或异步的slave-only设备可以直连到FlexBus总线或者只需增加少量的元器件进行连接: 外部ROMs、Flash存储器、可编程逻辑设备、其它的简单slave设备
阅读全文
摘要:todo
阅读全文
摘要:1.前言 2.LwIP makefiles With minimal features With all other features (with any Sequential API) With all other features (with Socket API) 3. Lwipopts.h
阅读全文
摘要:TODO
阅读全文
摘要:1.前言 2.Initialization for simple lwIP 查看doc/rawapi.txt来获得更多官方信息 更多关于tcpip_init的详细信息请查看Initialization using tcpip.c。关于网络接口的管理详情请看Network interfaces man
阅读全文
摘要:1.前言 lwIP正在加入IPv6,一个实验性的版本可以通过git下载,该版本实现了一个IPv4/IPv6的双协议栈。通过在lwipopts.h定义LWIP_IPV6可以使能IPv6 2.已实现的IPV6协议 IPv6 layer, parallel to IPv4 Support in TCP/U
阅读全文
摘要:1.前言 lwIP的内核并不是线程安全的。如果我们必须在多线程环境里使用lwIP,那么我们必须使用“upper”API层的函数(netconn或sockets)。当使用raw API时,你需要自己保护你的内核。 2.并发处理 (1)Sockets通常来说并不能在多个应用线程中使用(在udp/raw
阅读全文
摘要:1.前言 你已经编译lwIP协议栈在你的目标平台上,并且网络驱动正常工作。你可以ping你的设备。 干得好,为你感到骄傲。虽然一个设备可以响应ping,但并不能算一个完整的应用。 现在你可以通过网络接口来实际做点东西。从哪里开始呢?你可以通过他人的例子来学习lwIP应用编程。 你可以在如下的地方找到
阅读全文
摘要:1.前言 最近有一些讨论关于lwIP如何在单机的环境(比如,没有一个多线程的操作系统)使用。 本文的目的就是描述lwIP如何在无多线程操作系统或有多线程操作系统环境中运行 2.lwIP单线程内核 2.1 lwIP内核包含的组件 lwIP的内核包括了IP,ICMP,UDP协议的实现,还包括了对缓存和内
阅读全文
摘要:1.前言 lwIP提供3种应用编程接口来跟TCP/IP内核通信,如下所示: 低水平的内核/回调或raw API 2个高水平序列API: 1) netconn API 2) socket API(为了兼容POSIX/BSD-socket) 2.选择合适的应用编程接口 序列API 序列API提供了一种普
阅读全文
摘要:1.前言 lwIP提供一个基本的DNS客户端(1.3.0后引进),通过使用DNS(Domain Name System)协议来允许应用程序解决主机名到地址的转换。 在文件lwipopts.h里面定义LWIP_DNS的值为非零值可以使能DNS。 如果DHCP与lwIP DNS客户端一起工作,那么DNS
阅读全文
摘要:1.前言 本文主要讲述高层协议,包括DHCP 2.DHCP 2.1 从应用的角度看DHCP 你必须确保在编译和链接时使能DHCP,可通过在文件lwipopts.h里面定义LWIP_DHCP选项,该选项会加入一个dhcp struct的指针到netif结构体里面。 dhcp_start()将会分配一个
阅读全文
摘要:1.前言 本文主要讲解传输层协议UDP TCP 2.UDP 2.1 UDP from an application perspective 2.2 UDP support history in lwIP 2.3 External references RFC 768 User Datagram Pr
阅读全文
摘要:1.前言 本文主要讲述链路层和网络层的协议IPV6,ICMP 2.IPV6 2.1 IPV6特性 IPv6是IPv4的更新。其最显著的差别在于地址空间由32位转换成128位 2.2 从应用的角度看IPv6 lwIP正在加入IPv6,直到版本为1.4.x才可以使用IPv4或IPv6,但是并不能同时使用
阅读全文
摘要:1.前言 本文主要讲述链路层和网络层的几种协议:ARP,ipv4 2. ARP 2.1 ARP的主要应用 ARP的主要应用是在与互联网相连的以太网网络层,该层需要一些机制将MAC地址(该地址主要由制造商分发并固定在硬件里)转换成IP地址(该地址主要取决于设备接入的网络) 2.2 从应用的角度来看待A
阅读全文
摘要:1.前言 本文是对LwIP Application Developers Manual的翻译 lwIP是模块化的并支持广泛的协议,这些大部分协议可以被裁减从而减小代码的尺寸 2.协议概览 链路层和网络层协议 ARP(地址解析协议),一个链路层协议,该协议常用于将原始的硬件地址(比如MAC地址)转换成
阅读全文
摘要:1.前言 本文主要是对LwIP Application Developers Manual的翻译 2.读者(应用开发手册的读者) 谁适合读这份手册 网络应用的开发者 想了解lwIP的网络应用开发者 阅读前需要了解的知识 熟悉 C ANSI的编程、熟悉TCP/IP的一般知识 阅读前需要阅读什么 若要阅
阅读全文
摘要:1.前言 本文主要翻译了The Link Script英文文献。 (1)每个链接都是由链接脚本控制,链接脚本是用链接命令语言写的; (2)链接脚本的主要目的是描述输入文件的sections如何映射到输出文件的sections,并控制输出文件的内存分布; (3)必要时,链接脚本会指导连接器执行很多其它
阅读全文
摘要:1.前言 本文主要对MK64FN1M0xxx12_flash.ld文件进行分析,以此来加深对链接文件的理解 2.文件详解 the ‘-e’ entry command-line option; the ENTRY(symbol) command in a linker script; the val
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:todo
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:1.前言 2.The system address map 3.System Control Space (SCS) 4.The system timer, SysTick 5. Nested Vectored Interrupt Controller, NVIC 与中断异常相关的寄存器主要包含在如
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:TODO
阅读全文
摘要:1.前言 本章主要介绍了ARMV7体系结构及其定义的属性,以及本手册定义的ARMV7M属性。 主要包括: ARMV7体系结构和属性 ARMV7M属性 ARMV7M扩展 2. ARMV7体系结构和属性 ARMV7-A 应用属性,支持ARM和THUMB指令集,内存管理模型中需要虚拟地址支持 ARMV7-
阅读全文
摘要:1.前言 Features of the SIM include: System clocking configuration(1)System clock divide values(2) Architectural clock gating control(3) USB clock select
阅读全文
摘要:1.前言 介绍DMB DSB ISB 2.内存屏障 按照严格程度从低到高排列:DMB < DSB < ISB DMB:数据存储器隔离 DMB 指令保证仅当所有在它前面的存储器访问操作都执行完毕后,才提交(commit)在它后面的存储器访问操作; DSB:数据同步隔离。 比 DMB 严格,仅当所有在它
阅读全文