MYC-YT113X核心板及开发板
T113-S3入门级、低成本、极致双核A7国产处理器
基于T113-S3处理器,双核A7@1.2GHz,适用低成本网关产品和商业显示产品;丰富多媒体接口MIPI-DSI/RGB/LVDS/Parallel CSI,支持1080P@60FPS显示;支持千兆以太网接口、2个CAN接口、2个USB2.0接口、6个UART功能接口;内置128MB DDR3,支持256MB Nand Flash和4G eMMC存储;核心板采用邮票孔方式连接,尺寸为37mmx39mm,140PIN。
应用:电力、商业显示、智能家居、工业控制、医疗器械等场景。
MYC-YT113国产核心板及开发板
米尔基于全志T113核心板
高可靠性:
米尔基于全志T113核心板详细的设计验证:所有信号完整性测试、系统和应用功能测试、性能测试和老化测试。获得认证报告:SGS的CE认证报告、ROH报告,支持100%国产物料。
米尔基于全志T113核心板-相关认证报告
点灯
几乎所有嵌入式的第一课都是点灯,其实从点灯这一个简单的操作中,我们可以学到很多东西。
1、宏定义解析
#define LED_TRIGGER "/sys/class/leds/sys_led/trigger" //LED闪烁
#define LED_BRIGHTNESS "/sys/class/leds/sys_led/brightness" //点亮或熄灭LED
#define USAGE() fprintf(stderr, "usage:\n"
" %s \n"
" %s \n", argv[0], argv[0]) //用户使用指南
上述这三个定义我就不多说了,他们的功能都写在了注释里面。
需要稍微介绍一下的是前两个定义。
2、LED_TRIGGER和LED_BRIGHTNESS
刚接触嵌入式的小伙伴一定会好奇,为什么这两个对应的就是注释里面的内容呢?
其实这两个是内核自带的,简单的来说就是所有的开发板都自带的。
但是要使用上述两者的话,需要我们去编写设备树,并且开启内核中对应的内容。
3、程序编写
LED.C
#include
#include
#include
#include
#include
#include
#include
#define LED_TRIGGER "/sys/class/leds/sys_led/trigger" //控制LED灯闪烁模式
#define LED_BRIGHTNESS "/sys/class/leds/sys_led/brightness" //控制LED亮灭
#define USAGE() fprintf(stderr, "usage:\n"
" %s \n"
" %s \n", argv[0], argv[0])
int main(int argc, char *argv[])
{
int fd1, fd2;
/* 校验传参 */
if (2 > argc) {
USAGE();
exit(-1);
}
/* 打开文件 */
fd1 = open(LED_TRIGGER, O_RDWR);
if (0 > fd1) {
perror("open error");
exit(-1);
}
fd2 = open(LED_BRIGHTNESS, O_RDWR);
if (0 > fd2) {
perror("open error");
exit(-1);
}
/* 根据传参控制LED */
if (!strcmp(argv[1], "on")) {
write(fd1, "none", 4); //先将触发模式设置为none
write(fd2, "1", 1); //点亮LED
}
else if (!strcmp(argv[1], "off")) {
write(fd1, "none", 4); //先将触发模式设置为none
write(fd2, "0", 1); //LED灭
}
else if (!strcmp(argv[1], "trigger")) {
if (3 != argc) {
USAGE();
exit(-1);
}
if (0 > write(fd1, argv[2], strlen(argv[2])))
perror("write error");
}
else
USAGE();
exit(0);
}
编写好程序后,根据自己的交叉编译器将程序进行编译,并将程序丢到开发板上即可。
更多回帖