龙芯pmon里添加文件

2024-04-17 09:38
文章标签 龙芯 pmon

本文主要是介绍龙芯pmon里添加文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

龙芯pmon里添加文件

1、添加普通的xxx.c 文件

在pmon中加入 *.c 文件,在pmon的目录中有两个文件分别为: conf/files 、 Targets/LS2K/conf/files.LS2K。当pmon被编译时,以这两个文件为基础把相应的 *.c 文件编译成 *.o 文件,这两个文件的主要区别是:Targets/LS2K/conf/files.LS2K 依赖于不同的龙芯 CPU,CPU 不同该文件的内容就可能不同;conf/files是整个pmon所依赖的,比如ext2文件系统,所有的pmon都用相同的ext2文件系统。
加入的 *.c 文件必须被其他函数直接或间接的调用的。假如设备驱动文件为 xxx.c该文件中有一个设备的初始化函数 xxx_init(),假如该文件的路径:Targets/LS2K/ls2k/xxx.c并且可以根据配置来决定是否加载该驱动,需要操作步骤:Targets/LS2K/ls2k/tgt_machdep.c文件的函数 initmips(unsigned int memsz)中调用该函数。

如果编译时报错找不到该函数,因为该文件没有被编译成 *.o 需要在conf/files 或 Targets/LS2K/conf/files.LS2K (二者任选其一)中加入:
file Targets/LS2K/ls2k/xxx.c (这里选Targets/LS2K/conf/files.LS2K )
假如希望通过配置移除该文件,需要在 Targets/LS2K/conf/ls2k 中加入:
select xxx
上面的添加内容也许要修改:
file Targets/LS2K/ls2k/xxx.c xxx
当然需要把调用 xxx_init() 的地方注释掉,由于加入的该 *.c 文件是与 CPU 的种类有关,所以在 Targets/LS2K/conf/files.LS2K 中加入,若加入的内容被不同的 CPU 使用,可以考虑在 conf/files 中加入。
备注:
① select指定后面的参数被选中
② option指定后面的宏定义被定义

2、添加一个命令

① 在pmon源码的pmon/cmds/目录下创建一个cmd_test.c
② cmd_test.c 简单例子如下

#include <stdio.h>
#include <pmon.h>
int cmd_test (int argc, char **argv)	//命令函数主体
{int data;data = strtoul(argv[1],0,0);printf(“cmd test parameter %d\n”,data);
}
static const Cmd Cmds[] =
{{"MyCmds"},{"cmd_test","",0,"cmd_test  date",cmd_test,0,99,CMD_REPEAT},                                                                          {0,0}
};static void init_cmd __P((void)) __attribute__ ((constructor));static void
init_cmd()
{cmdlist_expand(Cmds,1);
}

在Targets/LS2K/conf/files.LS2K 里添加如下一行:
file pmon/cmds/cmd_test.c
添加完成后重新编译pmon,执行效果如下图
执行结果

这篇关于龙芯pmon里添加文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/911441

相关文章

龙芯小本debian无线(wifi)连接设置

本人有一台龙芯8089b小本,已被我重装了debian系统。由于学习nodeJs,所以想用它当node服务器; 正准备下载node等时发现命令模式下不能自动连接无线,于是网上找来一篇debian连接wifi的文章, 来源参考http://blog.163.com/wangpeng922@126/blog/static/64133083201211131100539/ 查看网卡信息:#

龙芯小本8089b安装debian7+java+tomcat+mysql

之前团购了一个龙芯小本8089b,cpu很差劲,内存也只有1G,根本不能用来娱乐,于是想把它换个纯字符系统,然后搭建java服务器平台,用作局域网固定的mini服务器开发用。 以下是我搭建过程,当然实际比这做的多,这是多次尝试之后的成功过程,分享给大家,自己也做个笔记 debian7纯字符系统安装龙芯专有java安装tomcat安装mysql安装 一、debian7安装参考 圣域☆

龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为: 借助RT-Thread和LVGL

龙芯L2K0300开发板综合测试

CPU 查看cpu版本信息 cat /proc/cpuinfo 可以看到cpu是64位的LoongsonArch架构 stress压力测试结果 RAM 久久派板载512MB DDR4-2666内存,查看内存信息 cat /proc/meminfo 可以用memtester进行内存性能测试 memtester <size> <times> memtester测试结果

龙芯+FreeRTOS+LVGL实战笔记(新)——02准备工程和驱动文件

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了完善与优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为: 借助RT-Thread和LVGL

龙芯中科发2024上半年业绩报告,信息化芯片收入已超去年全年!

8月28日消息,龙芯中科发布2024上半年业绩报告,报告期内公司实现营业收入2.2亿元,同比减少28.68%;归属于上市公司股东的净亏损2.38亿元,去年同期净亏损约1.04亿元。 之所以营收收入出现下降,笔者认为这跟国内宏观经济环境和行业周期变化影响关系较大。面对市场需求整体下降以及市场竞争加剧的态势,龙芯中科公告称,公司正在积极开展生态建设和面向开放市场的三年转型(2022年~202

【北京迅为】龙芯iTOP-LS2K0500开发板快速启动手册-第3章 Windows安装串口终端

LS2K0500 采用龙芯 2K0500 处理器,基于龙芯自主指令系统 (LoongArch) 架构,片内集成 64 位 LA264 处理器核。实现 ACPI、DVFS/DPM 动态电源功耗管理等低功耗技术,支持多种电源级别和唤醒方式,可根据具体应用场景对芯片部分功能和高速接口进行动态时钟、电源开关控制,满足工控、网络安全等应用领域低功耗应用需求。其目标是为工控 互联网应用、打印终端、BMC 等提

【驱动篇】龙芯LS2K0300之单总线驱动

实验过程 实验目的: 在龙芯开发板上面使用单总线驱动DS18B20温度传感器 ① 根据原理图连接DS18B20模块 ② 将i2c0引脚的功能复用为GPIO ③ 注册字符设备,按照DS18B20的读写时序编写读写驱动接口 ④ 编写测试用例解析传感器的数值 原理图 将板子上面的GPIO48连接传感器的DAT引脚,其余引脚连接如下 然后记得在设备树中把i2c0部分代码注释掉,将PIN

【驱动篇】龙芯LS2K0300之LED驱动

实验目的 点亮龙芯开发板上面的用户自定义LED灯,编写LED驱动以及测试用例验证实现效果,LED位于开发板左下方(靠近USB口)第二个 原理图 LED通过电阻上拉至电源P3V3,低电平时LED被点亮 设备树 打开arch/loongarch/boot/dts/loongson/loongson_2k0300_pai_99.dts,将72-150行的i2c1和i2c2两个节点注释掉

龙芯教育派安装不了loongnix1.0原因

关键在于,教育派PMON向内核传递的参数与龙芯派有差别。教育派内核需要a2用于传memory_offset\cpu_offset\system_offset\irq_offset\interface_offset等参数,而longnix1.0内核需要a2寄存器传设备树加载到内存的地址(0x8f800000)。   内核读取a0~a3的地方在:arch/mips/kernel/head.S 教