嵌入式Linux系统相关练习
文章目录
- 一.assert(断言)
- 二.树莓派执行.c文件
- 三.用scp 命令,练习在Ubuntu系统与树莓派系统间进行文件复制传输。
- 四.参考链接
一.assert(断言)
C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。
已定义的宏 assert 指向另一个宏 NDEBUG,宏 NDEBUG 不是 <assert.h> 的一部分。如果已在引用 <assert.h> 的源文件中定义 NDEBUG 为宏名称,则 assert 宏的定义如下:
#define assert(ignore) ((void)0)
二.树莓派执行.c文件
使用putty远程连接树莓派,使用命令nano helloworld.c命令创建文件
为该文件添加一下代码:
#include <assert.h>
#include <stdio.h>int main()
{int a;char str[50];printf("请输入一个整数值: ");scanf("%d", &a);assert(a >= 10);printf("输入的整数是: %d\n", a);printf("请输入字符串: ");scanf("%s", str);assert(str != NULL);printf("输入的字符串是: %s\n", str);return(0);
}
使用gcc工具编译,运行
命令1:gcc helloworld.c
命令2:./a.out
输入值为1,断言处条件不满足,程序停止并显示相关信息。
由上述例子可以有以下总结:
断言是程序调试很重要的手段,ASSERT( f )在Debug模式下,每次运行到这里后会计算括号中的表达式,如果表达式为0,则中断执行,弹出一个警告框,用户可选择“继续”,“重试”,“忽略”在Release模式下,这句语句不会被编译进代码。ASSERT一般用于程序内部确认参数的正确性,即调用内部函数的时候,要由调用者保证参数的正确,而被调用函数内部,就可以通过ASSERT来检查参数是否满足要求。
三.用scp 命令,练习在Ubuntu系统与树莓派系统间进行文件复制传输。
在Ubuntu下的home路径下创建一个example.txt文件。
在树莓派,输入命令 “sudo nano /etc/ssh/sshd_config”,然后去掉 "PermitRootLogin prohibit-password "之前的注释,保存并退出。
重启后输入命令 “systemctl restart sshd”,如果会报(Failed to start sshd.service: Unit sshd.service not found.)错误,先添加输入命令 “systemctl enable ssh.service”,然后在重启。
使用命令scp /home/example.txt JingL@192.168.43.143:/home/JingL
将 Ubuntu 中的文件拷贝到树莓派中。
注:
用户名@ 后跟的 ip地址为自己树莓派的 ip
在putty下使用ls命令看到目录下多了一个exqmple.txt文件:
使用nano example.txt命令打开查看:
四.参考链接
https://blog.csdn.net/qq_41854911/article/details/119453790
https://blog.csdn.net/xwmrqqq/article/details/109562880
嵌入式Linux系统相关练习相关推荐
- 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API
Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...
- 嵌入式linux结构框图,嵌入式linux系统的结构
原标题:嵌入式linux系统的结构 1.嵌入式系统的硬件架构 嵌入式系统硬件模型结构,此系统主要由微处理器MPU.外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片,如ARM7TMDI系列及ARM ...
- 详解基于busybox、dropbear、ngnix制作完整的嵌入式Linux系统
说明: <一>:查看此博文,建议查看笔者上一篇博文(Linux启动过程),因为只有在完全了解Linux系统启动流程及一些配置文件的相关性,在阅读此博文才能有思路,理解起来更 ...
- 嵌入式系统实验 构建嵌入式Linux系统,《嵌入式系统与开发》构建嵌入式Linux系统-实验报告.doc...
<嵌入式系统与开发>构建嵌入式Linux系统-实验报告 <嵌入式数据库sqlite移植及使用> 实验报告 学生姓名: 陈 彤 学 号: 1座机电话号码 专业班级: 130044 ...
- 嵌入式Linux系统BSP的设计与实现
1. 引言 嵌入式系统由硬件环境.嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求.硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操 ...
- 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt
[9构建嵌入式linux系统项目-启动脚本的编写 启动脚本 教学回顾 shell语法 管道.重定向 变量 结构性语句 教学内容 启动脚本的写法 教学要求 熟悉掌握启动脚本的写法 shell 函数 在s ...
- 嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究
[摘要] 嵌入式系统功能的提高,占用了较大内存空间,继而时常出现运行无响应.基于用户方面看,由于系统内存问题影响运行,针对系统内存与进程应用状态研究,可以调整系统数值与执行文件elf分析,进行系统优化 ...
- YAFFS2文件系统在嵌入式LINUX系统中的应用
YAFFS2文件系统在嵌入式LINUX系统中的应用 2011-03-31 19:59 181人阅读 评论(0) 收藏 举报 1.文件系统简述 随着32位CPU价格不断下跌,片上存储设备的容量相比越来越 ...
- 嵌入式Linux系统基础知识
一.嵌入式Linux系统的构成 1.硬件 2.内核 3.应用程序(形成根文件系统) 二.构建嵌入式Linux系统的主要任务 1.内核部分 2.应用程序部分 嵌入式Linux的开发大致可分为三个层次:引 ...
最新文章
- 如何制定恰当的信息安全策略
- favicon.png vs favicon.ico - 我为什么要使用PNG而不是ICO?
- 使用vm server 虚拟机上安装oracle-rac 共享磁盘错误解决
- Python 模块 timedatetime
- JS:ES6-1 let 关键字
- 深度比较Java循环的性能
- java新职篇:面向对象之抽象
- 使用EasyUI加载树形菜单
- cookie和session机制之间的区别与联系
- Leetcode995 Minimum Number of K Consecutive Bit Flips解决方案
- 九月亲测可运营【付费视频奖励计划赞助视频付费计划】最新版本的视频奖励源代码带有订阅可扣除金额带有代理新UI ...
- 创业半年回顾(没饭吃了,我再也不想创业了)
- 你所不知道的VoIP通信技术?
- 创业日志(三十)华东华南之10天7市行
- 如何删除2345SafeCenterSvc
- 网页弹窗插件layer.js的使用
- 什么样的企业/单位需要圣天诺LDK?
- SpringCloud微服务-----skywalking链路追踪
- 计算机接口中的shl,西门子200的PLC中SHL和ROL的区别,还...-卓优商学问答
- linux单机游戏软件下载,帝国时代单机手机版
热门文章
- 戴尔外星人m15r2 m15r3 m15r4 m15r5 m15r6 m15r7原厂出厂恢复系统带F12 Support Assist OS Recovery恢复功能
- Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)
- 白话设计模式-装饰器模式的使用和意义
- springboot实现转发和重定向
- mysql web工具下载_Webcat
- WebDriver 原理
- 关于印发《全国测绘地理信息行政执法依据》和《全国测绘地理信息行政执法职权分解》的通知
- 【pom报错】parent.relativePath‘ of POM xxx points at yyy instead of zzz please verify your project
- 半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 1 旋转矩阵
- 在Windows下使用 binwalk