- 博客(25)
- 资源 (128)
- 问答 (2)
- 收藏
- 关注
转载 编写嵌入式软件代码的10个技巧
代码维护是应用程序开发的重要方面,而为了缩短上市时间,通常会忽略代码维护。对于某些应用程序,这可能不会造成重大问题,因为这些应用程序的寿命很短,或者已部署该应用程序,并且再也不会碰它。但是,嵌入式系统应用程序的使用寿命可能长达数十年,这意味着一些早期的错误可能会在以后导致可观的成本。在开发可能具有长寿命的嵌入式应用程序时,在设计和实现上都必须考虑维护。以下技巧绝不会构成一个完整列表,但是它们解决了一些常见问题,这些问题可能会使您的应用程序维护者有理由诅咒您的名字,并且不要忘记您可能是其中之一!提示1:
2020-05-29 10:36:18 1712
原创 [I.MX6UL] Linux 内核移植(三) 网络驱动修改 配置文件另存为
使能 8 线 EMMC 驱动Linux 内核驱动里面 EMMC 默认是 4 线模式的,4 线模式肯定没有 8 线模式的速度快,所以将 EMMC 的驱动修改为 8 线模式。修改方法很简单,直接修改设备树即可,打开文件 imx6ull-mybsp-emmc.dts,找到如下所示内容:gedit arch/arm/boot/dts/imx6ull-mybsp-emmc.dts关键字:&usdhc2只需要将其改为如下代码即可:&usdhc2 { pinctrl-names = "
2020-05-23 16:47:49 10129
原创 [I.MX6UL] Linux 内核移植(二) 在 Linux 中添加自己的开发板
设置uboot环境变量:https://blog.csdn.net/qq_29246181/article/details/106265362。当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$当前路径:~/linux/IMX6ULL/linux-imx-rel_imx_4.1.15_2.1.0_ga_mybsp$
2020-05-23 11:58:26 943
原创 [I.MX6UL] Linux 内核移植(一)
NXP 官方原版 Linux 4.1.15_2.1.0源码:https://cloud.189.cn/t/JZriMvVNJJBf。
2020-05-23 10:53:57 1146 1
原创 [I.MX6UL] U-Boot 命令使用(五) EMMC 和 SD 卡操作命令
uboot 支持 EMMC 和 SD 卡, 因此也要提供 EMMC 和 SD 卡的操作命令。一般认为 EMMC和 SD 卡是同一个东西,所以没有特殊说明,本教程统一使用 MMC 来代指 EMMC 和 SD 卡。uboot 中常用于操作 MMC 设备的命令为“mmc” 。1、mmc info 命令mmc info 命令用于输出当前选中的 mmc info 设备的信息,输入命令“mmc info”即可,如图所示:2、mmc rescan 命令mmc rescan 命令用于扫描当前开发板上所有的
2020-05-23 10:31:25 2169
原创 [I.MX6UL] U-Boot 命令使用(四) 网络操作命令
uboot支持大量的网络相关命令, 比如 dhcp、ping、nfs 和 tftpboot。
2020-05-22 11:11:57 1432
原创 [I.MX6UL] U-Boot 命令使用(三) 内存操作命令
cp 是数据拷贝命令, 用于将 DRAM 中的数据从一段内存拷贝到另一段内存中, 或者把 Nor Flash 中的数据拷贝到 DRAM 中。mm 命令也是修改指定地址内存值的,但是每次修改会递增地址,而nm不会递增。
2020-05-22 08:53:18 730
原创 [I.MX6UL] U-Boot 命令使用(二) 环境变量操作命令
1、修改环境变量环境变量的操作涉及到两个命令:setenv 和 saveenv,命令 setenv 用于设置或者修改环境变量的值。命令 saveenv 用于保存修改后的环境变量,一般环境变量是存放在外部 flash 中的,uboot 启动的时候会将环境变量从 flash 读取到 DRAM 中。 所以使用命令 setenv 修改的是 DRAM中的环境变量值,修改以后要使用 saveenv 命令将修改后的环境变量保存到 flash 中,否则的话uboot 下一次重启会继续使用以前的环境变量值。命令 save
2020-05-21 18:57:27 498
原创 [I.MX6UL] U-Boot 命令使用(一) 信息查询命令
CRT进入 uboot 的命令行模式以后输入“help”或者“?” ,然后按下回车即可查看当前 uboot 所支持的命令。常用的和信息查询有关的命令有 3 个:bdinfo、printenv 和 version。先来看一下 bdinfo 命令,此命令用于查看板子信息,直接输入“bdinfo”即可,结果如图所示:命令 “printenv” 用于输出环境变量信息, uboot 也支持 TAB 键自动补全功能, 输入 “print”然后按下 TAB 键就会自动补全命令, 直接输入 “print” 也可以
2020-05-21 18:47:51 279
原创 [I.MX6UL] U-Boot 图形化配置体验
uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面,menuconfig是一套图形化的配置工具,需要 ncurses 库支持。ncurses 库提供了一系列的 API 函数供调用者生成基于文本的图形界面,因此需要先在 Ubuntu 中安装 ncurses 库,命令如下:sudo apt-get install build-essentialsudo apt-get install libncurses5-dev打开menuconfig图形界面ma
2020-05-21 17:03:00 537 1
原创 [I.MX6UL] U-Boot移植(六) 网络驱动修改 LAN8720A
I.MX6UL/ULL 内部有个以太网 MAC 外设,也就是 ENET,需要外接一个 PHY 芯片来实现网络通信功能,也就是内部MAC+外部 PHY 芯片的方案。I.MX6UL/ULL 有两个网络接口 ENET1 和 ENET2,I.MX6U-ALPHA 开发板提供了这两个网络接口,其中 ENET1 和 ENET2 都使用 LAN8720A 作为 PHY 芯片。NXP 官方的I.MX6ULL EVK 开发板使用 KSZ8081 这颗 PHY 芯片,LAN8720A 相比 KSZ8081 具有体积小、.
2020-05-21 15:00:22 4119 4
原创 [I.MX6UL] U-Boot移植(五) LCD 驱动修改
一般修改 LCD 驱动重点注意以下几点:①、LCD 所使用的 GPIO,查看 uboot 中 LCD 的 IO 配置是否正确。②、LCD 背光引脚 GPIO 的配置。③、LCD 配置参数是否正确。I.MX6U-ALPHA 开发板 LCD 原理图和 NXP 官方 I.MX6ULL 开发板一致,也就是 LCD 的 IO 和背光 IO 都一样的, 所以 IO 部分就不用修改了。 需要修改的之后 LCD 参数,打开文件mx6ull_mybsp_emmc.c,找到如下所示内容:gedit board/.
2020-05-21 11:52:38 2005 1
原创 [I.MX6UL] U-Boot移植(四) 添加开发板对应的板级文件夹+修改 U-Boot 图形界面配置文件
终端输入:cd board/freescale/cp mx6ullevk/ -r mx6ull_mybsp_emmc进 入 mx6ull_alientek_emmc 目 录 中 , 将 其 中 的 mx6ullevk.c 文 件 重 命 名 为mx6ull_alientek_emmc.c,命令如下:cd mx6ull_mybsp_emmcmv mx6ullevk.c mx6ull_mybsp_emmc.c1、修改 mx6ull_mybsp_emmc 目录下的 Makefile 文件ged
2020-05-21 11:22:08 827
原创 [I.MX6UL] U-Boot移植(三) 在 U-Boot 中添加自己的开发板
添加开发板默认配置文件①先在 configs 目录下创建默认配置文件,复制 mx6ull_14x14_evk_emmc_defconfig,然后重命名为 mx6ull_mybsp_emmc_defconfig,命令如下:cd configs cp mx6ull_14x14_evk_emmc_defconfig mx6ull_mybsp_emmc_defconfig ②终端输入:sudo gedit mx6ull_mybsp_emmc_defconfig然后将文件 mx6ull_mybsp_
2020-05-21 10:19:22 2151
原创 [I.MX6UL] U-Boot移植(二)
1、SD 卡和 EMMC 驱动检查检查一下 SD卡和 EMMC驱动是否正常,在SecureCRT 中使用命令 mmc list 列出当前的 MMC 设备,结果如图所示:从图可以看出当前有两个 MMC 设备, 检查每个 MMC 设备信息, 先检查 MMC 设备 0,输入如下命令(在SecureCRT 中):mmc dev 0 mmc info2、LCD 驱动检查如果 uboot 中的 LCD 驱动正确的话,启动 uboot 以后 LCD 上应该会显示出 NXP 的 logo,如下图所示:
2020-05-21 08:19:06 453
原创 [I.MX6UL] U-Boot移植(一)
uboot 官网为 :ftp://ftp.denx.de/pub/u-boot/NXP 的uboot:https://cloud.189.cn/t/yInEfqMV7Jru首先需要安装支持。终端输入:sudo apt-get install libncurses5-devmkdir /home/xue1995/linux/ubootcd /home/xue1995/linux/uboot/将NXP 的uboot放入/uboot/文件夹中,并解压。tar -vxjf uboot-imx-re
2020-05-20 18:16:14 715 1
原创 [I.MX6UL]官方 SDK 移植实验
我们参考 ST 官方给 STM32 编写的 stm32f10x.h 来自行编写 I.MX6U的寄存器定义文件。自己编写这些寄存器定义不仅费时费力,没有任何意义,而且很容易写错,幸好NXP 官方为 I.MX6ULL 编写了 SDK包,在 SDK 包里面 NXP 已经编写好了寄存器定义文件,所以我们可以直接移植 SDK 包里面的文件来用。虽然NXP 是为I.MX6ULL 编写的 SDK 包,但是 I.MX6UL 也是可以使用的!本章我们就来讲解如何移植 SDK包里面重要的文件,方便我们的开发。/*****.
2020-05-20 16:30:45 1654 1
原创 Linux Ubuntu 交叉编译工具链 arm-linux-gnueabihf 安装 32 64
Linaro 出品的交叉编译器4.9:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/终端输入:mkdir tool将刚刚下载的[gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz]放入tool文件夹中。在 Ubuntu 中创建目录:/usr/local/arm,命令如下:sudo mkdir /
2020-05-19 14:27:57 1364
原创 Ubuntu 下 NFS 和 SSH 服务开启
NFS 服务开启终端输入安装命令:sudo apt-get install nfs-kernel-server rpcbind用户根目录下创建一个名为“linux”的文件夹:mkdir linux用户linux目录下创建一个名为“nfs”的文件夹:mkdir nfs创建的 nfs 文件夹供 nfs 服务器使用,以后我们可以在开发板上通过网络文件系统来访问 nfs 文件夹,要先配置 nfs,使用如下命令打开 nfs 配置文件/etc/exports:终端输入:sudo gedit /etc/exp
2020-05-19 13:52:02 267
原创 开启 Ubuntu 下的 FTP 服务
终端输入:sudo apt-get install vsftpdsudo gedit /etc/vsftpd.conf打开以后 vsftpd.conf 文件以后找到如下两行: (把#删除即可)local_enable=YESwrite_enable=YES修改完 vsftpd.conf 以后保存退出,使用如下命令重启 FTP 服务:sudo /etc/init.d/vsftpd restartWindows 下 FTP 客户端安装:下载地址如下:https://www.filezilla
2020-05-19 13:37:10 3215 1
原创 Linux C语言 Makefile 的使用 函数
创建三个.c文件终端输入:创建目录:mkdir Makefile进入目录:cd Makefile使用gedit:gedit第一个文件:main.c#include <stdio.h> #include "input.h" #include "calcu.h" int main(int argc, char *argv[]) { int a, b, num; input_int(&a, &b); num = calcu(a,
2020-05-19 11:18:12 526
原创 Linux下的C语言编写
终端下输入:创建目录:mkdir C_Program进入目录:cd C_Program创建目录:mkdir hello_world进入目录:cd hello_world使用gedit:gedit输入以下代码并保存:#include <stdio.h> int main(int argc, char *argv[]) { printf("Hello World!\n"); } 编译C语言代码:终端输入:gcc hello_world.c出现a.out的文
2020-05-19 10:22:10 491
原创 安装 Ubuntu 操作系统 16.04.5
此时虚拟机已经自动开始安装系统了。。。。。。。。稍后一段时间。等待10分钟后,出现完毕界面:登录后,进行一些基础配置。比如切换到中文:请参考下面链接:https://blog.csdn.net/fx_yzjy101/article/details/80238014安装软件:终端打开后输入:串口工具:sudo apt-get install minicom...
2020-05-19 09:55:19 265
原创 [单片机][N76E003][PCA9540BD][IIC扩展器] 一组IIC变两组IIC 使用方法 例子 代码
PCA9540B是一个1-of-2双向转换多路复用器,通过i2c总线控制。SCL/SDA上行对扇形输出到两个SCx/SDx下行对或通道。一次只选择一个SCx/SDx通道,这取决于文件的内容可编程控制寄存器。上电复位功能将寄存器置于其默认状态并初始化i2c总线没有选择通道的状态机。多路复用器的通闸结构使得VDD引脚可用于限制PCA9540B通过的最大高压。这允许使用每个SCx/SDx对上不同的母线电压,以便1.8 V, 2.5 V或3.3 V零件可以与5v部件通信,无需任何额外保护。
2020-05-09 09:21:46 653 1
Keil Map信息解析
2023-10-30
VSCode-x64-1.79.2(集成嵌入式插件).zip
2023-06-25
文件内容搜索器.zip
2023-06-20
DLL函数查看器(DLL+Export+Viewer),支持64位DLL查看顺.zip
2023-06-19
flawfinder使用说明(中文).pdf
2023-06-03
VCG自动代码安全审查工具
2023-06-03
merge-hex-master.zip
2023-05-16
mergeHEX.zip
2023-05-05
syscfg-SDK5.20.zip
2023-03-14
STM32动态加载实现V1.0.pdf
2023-02-21
STM32F103C8T6功耗测评(功耗优化必读)
2023-02-13
ccc3.0数字钥匙 UWB资料2.pdf
2023-02-01
有道翻译离线包 离线词库
2022-11-29
LISUN_2642R1_multi_role.rar
2022-09-15
open_syscfg.rar
2022-09-15
EasyDebug.zip
2022-09-13
eide-3.9.0-win32.vsix
2022-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人