目标执行的第一天

1.分析S3C2440的LED控制

 

看CPU的芯片中LED有四个PIN控制的,GPB5-GPB8,2440有九组GPIO,要写驱动

 

GPBA....GPBJ ,有三个寄存器来控制这GPBCON, GPBDAT, GPBUP

 

Register Address R/W Description Reset Value

GPBCON 0x56000010 R/W Configures the pins of port B 0x0

GPBDAT 0x56000014 R/W The data register for port B Undef.

GPBUP 0x56000018 R/W Pull-up disable register for port B 0x0

Reserved 0x5600001c

 

上拉电阻和下拉电阻,上拉电阻就是固定高电平,下拉就是和地接固定为低电平

LED1      GBP5

LED2      GBP6

LED3      GBP7

LED4      GBP8

上面的是基本知识。。。

 

首先要理解linux驱动的架构。

 

搭建的框架是

module_init(dev_init);------》驱动程序的入口

module_exit(dev_exit);

MODULE_LICENSE("GPL");

MODULE_AUTHOR("FriendlyARM Inc.");

 

dev_init中调用->杂项设备(misc device)

杂项设备也是在嵌入式系统中用得比较多的一种设备驱动,其实misc_register就是用主标号10调用register_chrdev()的。

 

字符设备就是以字符作为顺序访问的设备,如键盘,鼠标

### Corn 表达式配置示例 为了实现每月第一天执行任务的目标,Cron 或 Jenkins 中的 Corn 表达式的配置可以通过以下方式完成: Corn 表达式由六个主要部分组成(分钟、小时、日期、月份、星期、命令)。对于每月的第一天执行任务的情况,可以将 **日期字段** 设置为 `1`,其他字段可以根据需求灵活调整。 以下是具体的配置示例以及说明: #### 示例 1:每日凌晨 0 点执行 如果希望在每月的第一天凌晨 0 点触发任务,则可使用以下表达式: ``` 0 0 1 * ? * ``` - 分钟 (`0`):表示每小时的第 0 分钟。 - 小时 (`0`):表示每天的第 0 小时(即午夜)。 - 日期 (`1`):表示每月的第一天[^1]。 - 月份 (`*`):表示适用于所有月份。 - 星期 (`?`):不指定特定的星期几。 - 命令 (`*`):保留给实际要执行的操作。 --- #### 示例 2:随机化启动时间以减少负载 为了避免多个任务在同一时刻启动而导致服务器压力过大,在 Jenkins 场景下可以引入 `H` 符号来增加随机性。例如: ``` H(0-59)/15 0 1 * ? ``` - 分钟 (`H(0-59)/15`):表示从 0 到 59 分钟之间每隔 15 分钟随机选取一个时间点作为初始启动时间[^3]。 - 小时 (`0`):仍然保持在午夜执行。 - 日期 (`1`):同样代表每月的第一天。 - 月份 (`*`):覆盖全年。 - 星期 (`?`):忽略具体星期几。 这种形式特别适合于分布式环境中需要均衡资源分配的应用场景。 --- #### 示例 3:结合 Linux Cron 实现功能 如果是基于标准 Linux Cron 而非 Jenkins 的环境,也可以通过类似的语法达成目标。下面是一个例子用于描述如何让某个脚本仅在每个月初运行一次: ``` @monthly /path/to/script.sh ``` 或者更详细的写法为: ``` 0 0 1 * * /path/to/script.sh ``` 这里每一项的意义分别对应前述提到的时间单位定义[^2]。 注意:这里的路径 `/path/to/script.sh` 应替换为你计划调用的实际程序文件位置。 --- ### 总结 无论是哪种框架下的 corn/cron 表达式设计原则都相似——明确指出何时何地做什么事情即可满足业务逻辑上的精确控制诉求。而当涉及到高并发处理时则推荐采用带哈希机制的方式进一步优化性能表现。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值