当前位置: 首页 > news >正文

IMX6ULL学习笔记_Boot和裸机篇(6)--- IMX6ULL简单SHELL以及SEGGER ES的Printf和字节对齐问题

项目开源链接以及作者信息

参数
github主页https://github.com/snqx-lqh
github项目地址https://github.com/snqx-lqh/IMX6ULL_LearningRecord
gitee项目地址https://gitee.com/snqx-lqh/IMX6ULL_LearningRecord
作者 VXQinghua_Li7

📖 欢迎交流 如果对你有帮助,希望可以帮我点个赞👍和收藏,谢谢

基础环境

硬件环境:正点原子IMX6ULL MINI板 V1.7 EMMC板

程序说明:为方便开发,程序使用 BootLoader + APP 的方式开发。使用BootLoader来进行升级,前期不将 BootLoader 作为开发重点,所以先使用 UBoot 作为我们的 BootLoader 后续可能会使用自写的 BootLoader 。所以先使用正点原子的教程给板子的 EMMC或者SD卡 下载一个 Uboot。方便实现在线程序升级和运行。随便烧一个就行,不用自己去编译,下载它自带的就可以了。等下做说明。

裸机程序编写软件:SEGGER Embedded Studio V8.24 。 为了在Windows环境下编译裸机开发,所以使用 SES 的软件编写。

本文代码路径

本文的代码将存放在开源项目的:02_Firmware\01_CodeWithoutOS\05_Shell中。这节的代码,主要是实现简单的shell,并且找到了一些BUG解决方案

Shell

关于Shell的实现,比较简单,我是用AI简单写的然后自己调整了一下。可以直接看我的开源代码。

Printf问题

我自己写的,包括前几节都有遇到这个问题,就是重定义的uart_printf不能打印小数和位控制。如果打印了%2d,就会打印个d。后面发现,需要在工程中打开相关编译选项。打开后,自己的Printf就可以打印小数一类了。

在这里插入图片描述

strcmp的字节对齐问题

这个问题其实我暂时不是很清楚,但是就是定义的字符串,存储的地址不是4字节对齐的,结果导致试用strcmp的时候会卡死,解决办法就是定义的时候使用__attribute__((aligned(4)))做一个对齐。

typedef struct
{const char *name;void (*func)(int argc, char **argv);const char *help;
} shell_cmd_t;const char help_str[] __attribute__((aligned(4))) = "help";
const char help_str_help[] __attribute__((aligned(4))) = "show all cmd";const char led_str[]  __attribute__((aligned(4))) = "led";
const char led_str_help[]  __attribute__((aligned(4))) = "control LED: led on/off";const shell_cmd_t cmd_table[] = {{help_str, cmd_help, help_str_help},{led_str,  cmd_led,  led_str_help},
};
http://www.dtcms.com/a/474816.html

相关文章:

  • 《C++二叉引擎:STL风格搜索树实现与算法优化》
  • 营销网站售后调查百度竞价调价软件
  • 给网站设置关键词重庆建网站一般多少钱
  • Seo建设网站的步骤郑州外贸网站建设及维护
  • Java内部类:全面解析与实践指南
  • 建设银行乾县支行网站网络游戏美术设计专业
  • 织梦怎么修改网站模板自己怎么做关键词优化
  • 赵奢的军事才能、谋略分析及对当世的影响
  • windows应用商店手动安装应用
  • 字体排版设计网站公司网站搜索优化
  • 未来做那些网站致富官方网站下载免费软件
  • 公司建立自己的网站吗wordpress文章状态
  • Python子类属性扩展指南:从基础到高级实践
  • 阜阳市城乡建设 档案馆网站多渠道营销平台与crm
  • 力扣138随机链表复制(最本质问题解决:random指针)
  • 手机网站开发还是调用个人作品网站策划书
  • 工程经济对折现率选择的理论、方法与行业实践研究
  • 郑州网站建设公司排行榜网站怎么做百度优化
  • LangChain - 如何使用阿里云百炼平台的Qwen-plus模型构建一个桌面文件查询AI助手 - 超详细
  • C语言四大排序算法实战
  • 自己做效果图的网站推广优化网站
  • 2025 年 10 月 TIOBE 指数
  • 网站建设合同属于技术合同吗企业网站设计专业好吗
  • cdr可不可做网站公司简介概况怎么写
  • 做区位分析的网站重庆的企业的网站建设
  • Claude Code 本地部署实战:打造属于你的 AI 编程助手
  • 【11408学习记录】考研数学精华:矩阵相似全解——从定义到判别一网打尽!
  • tk网站注册阿里企业邮箱电话
  • visual c 网站开发百度网站公司信息推广怎么做
  • anthropics-claude-cookbooks学习记录02