新書推薦:
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:HK$
55.8
《
养育不好惹的小孩
》
售價:HK$
77.3
《
加加美高浩的手部绘画技法 II
》
售價:HK$
89.4
《
卡特里娜(“同一颗星球”丛书)
》
售價:HK$
87.4
《
伟大民族:从路易十五到拿破仑的法国史(方尖碑)
》
售價:HK$
188.2
《
古今“书画同源”论辨——中国书法与中国绘画的关系问题兼中国画笔墨研究
》
售價:HK$
132.2
《
《日本文学史序说》讲演录
》
售價:HK$
72.8
《
无尽的海洋:美国海事探险与大众文化(1815—1860)
》
售價:HK$
99.7
|
內容簡介: |
本书作为《微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(基础篇)》的配套实训教材,主要是为电子信息类专业和计算机类专业的计算机实训类课程提供完备的教学资源。本书以国产龙芯1B处理器为核心,将国产软件集成开发环境和国产操作系统引入计算机类课程的实训教学中,使学生能真正系统地掌握计算机的软件和硬件知识,培养学生具有独立分析和解决计算机系统问题的能力。 本书从计算机软件算法、外设工作原理和操作系统3个不同角度,对计算机系统原理、计算机接口技术、数据结构、编译原理、计算机网络、操作系统、汇编语言程序设计和C语言程序设计等课程的主要知识点进行深入解析,使读者能够从“全系统”的角度来看待计算机系统的软件和硬件。 全书共10章,主要内容包括:排序算法的原理和实现、树的算法原理和实现、图的算法原理和实现、串口重定位原理和实现、数字电子钟的设计和实现、人机交互游戏的设计和实现、USB设备的操作原理和访问实现、RT-Thread操作系统原理和应用、网络传输的原理和实现,以及Linux操作系统的移植和应用程序的开发。 全书共分为10章,主要内容包括:排序算法的原理和实现、树的算法原理和实现、图的算法原理和实现、串口重定位原理和实现、电子钟的设计和实现、人机交互游戏的设计和实现、USB设备的操作原理和访问实现、RT-Thread操作系统原理和应用、网络传输的原理和实现,以及Linux操作系统的移植和应用程序的开发。
|
關於作者: |
何宾,知名的嵌入式和EDA技术专家,长期从事电子设计自动化方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商密切合作。已经出版电子信息方面的著作共40余部,内容涵盖电路仿真、电路设计、FPGA、数字信号处理、单片机、嵌入式系统等。典型的代表作有《模拟电子系统设计指南(基础篇):从半导体、分立元件到TI集成电路的分析与实现》、《模拟电子系统设计指南(实践篇):从半导体、分立元件到TI集成电路的分析与实现》、《Xilinx Zynq-7000嵌入式系统设计与实现-基于ARM Cortex-A9双核处理器和Vivado的设计方法》、《Altium Designer17一体化设计标准教程-从仿真原理和PCB设计到单片机系统》、《STC8系列单片机开发指南:面向处理器、程序设计和操作系统的分析与应用》等。
|
目錄:
|
目录第1章排序算法的原理和实现1.1 选择排序的原理和实现1.1.1 选择排序的原理1.1.2 C语言程序设计1.1.3 C语言编译和调试1.1.4 汇编语言程序设计1.1.5 汇编语言编译和调试1.2 快速排序的原理和实现1.2.1 快速排序的原理1.2.2 C语言程序设计1.2.3 C语言编译和调试1.2.4 汇编语言程序设计1.2.5 汇编语言编译和调试1.3 插入排序的原理和实现1.3.1 插入排序的原理1.3.2C语言程序设计1.3.3 C语言编译和调试1.3.4 汇编语言程序设计1.3.5 汇编语言编译和调试1.4 基数排序的原理和实现1.4.1 基数排序的原理1.4.2 C语言程序设计1.4.3 C语言编译和调试1.4.4 汇编语言程序设计1.4.5 汇编语言编译和调试1.5 希尔排序的原理和实现1.5.1 希尔排序的原理1.5.2 C语言程序设计1.5.3 C语言编译和调试1.5.4 汇编语言程序设计1.5.5 汇编语言编译和调试1.6 归并排序的原理和实现1.6.1 归并排序的原理1.6.2 C语言程序设计-递归实现1.6.3 C语言编译和调试-递归实现1.6.4 C语言程序设计-非递归实现1.6.5 C语言编译和调试-非递归实现1.6.6 汇编语言程序设计1.6.7 汇编语言编译和调试1.7 堆排序的原理和实现1.7.1 堆排序的原理1.7.2 C语言程序设计1.7.3 C语言编译和调试1.7.4汇编语言程序设计1.7.5汇编语言编译和调试第2章树的算法原理和实现2.1二叉树遍历原理和实现2.1.1二叉树遍历的原理2.1.2 C语言程序设计-遍历的递归实现2.1.3 C语言编译及调试-遍历的递归实现2.1.4 C语言程序设计-遍历的非递归实现2.1.5 C语言编译及调试-遍历的非递归实现2.1.6汇编语言程序设计2.1.7汇编语言编译和调试2.2哈夫曼编码原理和实现2.2.1哈夫曼编码的原理2.2.2 C语言程序设计2.2.3 C语言编译及调试2.2.4汇编语言程序设计2.2.5汇编语言编译和调试第3章图的算法原理和实现3.1弗洛伊德算法原理和实现3.1.1弗洛伊德算法的原理3.1.2 C语言程序设计3.1.3 C语言编译和调试3.1.4汇编语言程序设计3.1.5汇编语言编译并调试3.2图的邻接表表示和实现3.2.1图的邻接表表示方法3.2.2基于链表的邻接表设计思路3.2.3 C语言程序设计-邻接表的链表实现3.2.4 C语言编译和调试-邻接表的链表实现3.2.5基于数组的邻接表设计思路3.2.6 C语言程序设计-邻接表的数组实现3.2.7 C语言编译和调试-邻接表的数组实现3.2.8汇编语言程序设计3.2.9汇编语言编译并调试3.3深度和广度优先搜索算法原理和实现3.3.1深度和广度优先搜索算法原理3.3.2 C语言程序设计-基于链表和非递归的实现3.3.3 C语言编译和调试-基于链表和非递归的实现3.3.4 C语言程序设计-基于数组和非递归的实现3.3.5 C语言编译和调试-基于数组和非递归的实现3.3.6汇编语言程序设计3.3.7汇编语言编译和调试第4章串口重定位的原理和实现4.1 printf()函数的重定位实现4.1.1分析标准库函数printf()的执行过程4.1.2创建新的头文件(uart3.h)4.1.3创建新的源文件(uart3.c)4.1.4创建新的putcharr.c文件4.1.5修改print.h与printf.c文件4.2 scanf()函数的重定位实现4.2.1分析标准库函数scanf()的执行过程4.2.2修改源文件uart3.c4.2.3创建新的头文件(scanf.h)4.2.4创建新的源文件(scanf.c)4.3主函数下添加设计代码4.4输入和输出函数重定位的测试4.4.1配置PuTTY工具和串口调试助手4.4.2scanf()函数的只读模式测试4.4.3数据流与控制流匹配测试4.4.4返回已读取字符数测试4.4.5输入十进制整数测试4.4.6输入八进制整数测试4.4.7输入十六进制整数测试4.4.8输入浮点数测试4.4.9输入字符测试4.4.10输入字符串测试4.4.11输入指针测试4.4.12扫描模式输入字符串测试4.4.13数据流的缓存测试第5章数字电子钟的设计和实现5.1实时时钟模块的原理5.1.1实时时钟内部结构5.1.2实时时钟寄存器集5.2 I2C总线及模块的原理5.2.1 I2C总线规范5.2.2 I2C模块的原理5.3 OLED显示模块原理5.3.1 OLED的性能和参数5.3.2 OLED模块的电路5.3.3 I2C总线写数据5.3.4 I2C的写模式5.3.5 I2C的数据位传输5.3.6图形显示数据RAM5.3.7存储器寻址模式5.4数字电子钟软件的设计5.4.1创建oled_driver.h文件5.4.2创建oled_driver.c文件5.4.3创建chars.h文件5.4.4创建picture.h文件5.4.5修改bsp.h文件5.4.6修改main.c文件5.5编译和下载设计文件5.5.1硬件平台的准备5.5.2设计下载第6章人机交互游戏的设计和实现6.1显示控制器模块原理6.1.1 DC模块的特性6.1.2 DC模块寄存器集6.1.3 LCD的位模式6.2 LCD屏的性能与操作6.2.1 LCD屏的性能参数6.2.2 LCD屏的引脚6.2.3 LCD屏的时序6.3系统硬件设计6.3.1 LCD屏与开发板的连接6.3.2按键模块与开发板的连接6.4 GPIO和LCD驱动API6.4.1 GPIO API函数6.4.2 LCD API函数6.5系统软件设计6.5.1屏幕设计问题分析6.5.2编写软件代码6.6系统调试和验证第7章USB设备的操作原理和访问实现7.1USB的初始化7.1.1USB初始化框架7.1.2USB底层初始化7.1.3 USB分配新设备7.1.4 USB新建新设备7.1.5提交命令到最底层7.2 USB存储设备的初始化7.2.1扫描USB设备7.2.2配置USB存储设备7.2.3读取和写入操作7.2.4复位与传输操作7.2.5获取存储设备7.3 USB存储设备的访问7.3.1测试存储器程序框架7.3.2获取并打印存储器分区信息7.3.3判别块存储设备7.3.4搜索目标文件7.3.5读取目标文件7.4 USB HID的初始化和访问7.4.1USB HID原理7.4.2键盘设备初始化7.4.3键盘中断服务程序7.4.4检测按键输入7.4.5获取输入字符7.5USB设备的停止7.6USB存储设备和USB键盘的测试7.6.1存储设备的测试7.6.2键盘设备的测试第8章RT-Thread操作系统原理和应用8.1操作系统的背景和需求8.1.1裸机环境下的应用场景8.1.2操作系统的基本概念8.1.3嵌入式RTOS基础8.2 RT-Thread操作系统简介8.2.1 RT-Thread操作系统的发展历史8.2.2 RT-Thread操作系统的架构8.3线程原理及实现方法8.3.1线程的概念8.3.2线程控制块8.3.3线程属性8.3.4系统线程8.3.5线程管理API8.3.6调度器与调度规则8.4定时器原理及实现方法8.4.1定时器的概念8.4.2定时器工作原理8.4.3定时器控制块8.4.4定时器API8.5内存管理及实现方法8.5.1静态内存分配 8.5.2动态内存分配8.5.3 RT-Thread操作系统中的内存分配8.5.4内存管理API8.6信号量原理及实现方法8.6.1信号量的概念8.6.2信号量工作原理8.6.3信号量控制块8.6.4信号量API8.7互斥量原理及实现方法8.7.1互斥量的概念8.7.2互斥量的工作原理8.7.3互斥量控制块8.7.4互斥量API8.8事件集原理及实现方法8.8.1事件集概念8.8.2事件集工作原理8.8.3事件控制块8.8.4事件集API8.9消息队列原理及实现方法8.9.1消息队列的概念8.9.2消息队列工作原理8.9.3消息队列控制块8.9.4消息队列API8.10操作系统应用实例一:理发师问题8.10.1理发师问题的背景8.10.2理发师问题的同步处理8.10.3理发师问题的解决8.10.4设计编译和调试8.11操作系统应用实例二:哲学家进餐问题8.11.1哲学家进餐问题的背景8.11.2哲学家进餐问题的同步处理8.11.3哲学家进餐问题的解决8.11.4设计编译和调试8.12操作系统应用实例三:吸烟者问题8.12.1吸烟者问题的背景8.12.2吸烟者问题的同步处理 8.12.3吸烟者问题的解决8.12.4设计编译和调试第9章网络传输的原理和实现9.1内建GMAC模块功能9.1.1 DMA寄存器描述9.1.2 GMAC寄存器描述9.2 LwIP协议栈基础:原始API9.2.1回调9.2.2 TCP连接设置9.2.3发送 TCP 数据9.2.4接收TCP数据9.2.5应用轮询9.2.6关闭和终止连接9.2.7底层TCP接口9.2.8 UDP接口9.2.9系统初始化9.2.10优化提示9.2.11零复制MAC 9.3 TCP与UDP的原理和实现方法9.3.1 TCP的三次握手和四次挥手9.3.2 TCP与UDP的区别9.3.3采用套接字的TCP实现方法9.3.4采用套接字的UDP实现方法9.4网络传输的实现9.4.1创建新的设计工程9.4.2修改main.c文件9.4.3添加lwip_test.h文件9.4.4添加lwip_test.c文件9.4.5添加tcp_server.c文件9.4.6添加tcp_client.c文件9.4.7添加udp_server.c文件9.4.8添加udp_client.c文件9.4.9修改文件(可选)9.5网络通信的测试与验证9.5.1测试前的准备工作9.5.2设置计算机的IP地址9.5.3 TCP服务器测试9.5.4TCP客户端测试9.5.5 UDP服务器测试9.5.6 UDP客户端测试第10章Linux操作系统的移植和应用程序的开发10.1 Tftpd32工具的下载和安装10.2 VMware虚拟机的下载和安装10.3 Ubuntu操作系统的下载和安装10.3.1下载Ubuntu操作系统镜像10.3.2安装Ubuntu操作系统
|
|