您的位置:首页 > 其它

撸码技巧1:分段设置寄存器

2017-12-06 14:34 183 查看
背景:

1.寄存器地址0x100H-0x184H;

2.每个寄存器都是32bit的;

3.每个寄存器的bit[7-0],bit[15-8],bit[23-16],bit[24-31]分别需要一个特别的值,这些特别的值已经存入数组;

4.使用已有按位写的接口write_reg32(addr,start,enc,val);完成按位写入;

写入方法:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stdint.h>

#define BASE_ADDR     (0x104)

uint32_t main(void)
{
uint32_t cnt=0;

for(cnt=0;cnt<0x84;cnt++)
{
printf("addr[0x%x] start[%d] end[%d] \n",\
BASE_ADDR+(((cnt)>>2)<<2),((cnt)%4)<<3,(((cnt)%4)<<3)+7);

}

return 0;
}


输出结果:

./test
addr[0x104] start[0] end[7]
addr[0x104] start[8] end[15]
addr[0x104] start[16] end[23]
addr[0x104] start[24] end[31]
addr[0x108] start[0] end[7]
addr[0x108] start[8] end[15]
addr[0x108] start[16] end[23]
addr[0x108] start[24] end[31]
addr[0x10c] start[0] end[7]
addr[0x10c] start[8] end[15]
addr[0x10c] start[16] end[23]
addr[0x10c] start[24] end[31]
addr[0x110] start[0] end[7]
addr[0x110] start[8] end[15]
addr[0x110] start[16] end[23]
addr[0x110] start[24] end[31]
addr[0x114] start[0] end[7]
addr[0x114] start[8] end[15]
addr[0x114] start[16] end[23]
addr[0x114] start[24] end[31]
addr[0x118] start[0] end[7]
addr[0x118] start[8] end[15]
addr[0x118] start[16] end[23]
addr[0x118] start[24] end[31]
addr[0x11c] start[0] end[7]
addr[0x11c] start[8] end[15]
addr[0x11c] start[16] end[23]
addr[0x11c] start[24] end[31]
addr[0x120] start[0] end[7]
addr[0x120] start[8] end[15]
addr[0x120] start[16] end[23]
addr[0x120] start[24] end[31]
addr[0x124] start[0] end[7]
addr[0x124] start[8] end[15]
addr[0x124] start[16] end[23]
addr[0x124] start[24] end[31]
addr[0x128] start[0] end[7]
addr[0x128] start[8] end[15]
addr[0x128] start[16] end[23]
addr[0x128] start[24] end[31]
addr[0x12c] start[0] end[7]
addr[0x12c] start[8] end[15]
addr[0x12c] start[16] end[23]
addr[0x12c] start[24] end[31]
addr[0x130] start[0] end[7]
addr[0x130] start[8] end[15]
addr[0x130] start[16] end[23]
addr[0x130] start[24] end[31]
addr[0x134] start[0] end[7]
addr[0x134] start[8] end[15]
addr[0x134] start[16] end[23]
addr[0x134] start[24] end[31]
addr[0x138] start[0] end[7]
addr[0x138] start[8] end[15]
addr[0x138] start[16] end[23]
addr[0x138] start[24] end[31]
addr[0x13c] start[0] end[7]
addr[0x13c] start[8] end[15]
addr[0x13c] start[16] end[23]
addr[0x13c] start[24] end[31]
addr[0x140] start[0] end[7]
addr[0x140] start[8] end[15]
addr[0x140] start[16] end[23]
addr[0x140] start[24] end[31]
addr[0x144] start[0] end[7]
addr[0x144] start[8] end[15]
addr[0x144] start[16] end[23]
addr[0x144] start[24] end[31]
addr[0x148] start[0] end[7]
addr[0x148] start[8] end[15]
addr[0x148] start[16] end[23]
addr[0x148] start[24] end[31]
addr[0x14c] start[0] end[7]
addr[0x14c] start[8] end[15]
addr[0x14c] start[16] end[23]
addr[0x14c] start[24] end[31]
addr[0x150] start[0] end[7]
addr[0x150] start[8] end[15]
addr[0x150] start[16] end[23]
addr[0x150] start[24] end[31]
addr[0x154] start[0] end[7]
addr[0x154] start[8] end[15]
addr[0x154] start[16] end[23]
addr[0x154] start[24] end[31]
addr[0x158] start[0] end[7]
addr[0x158] start[8] end[15]
addr[0x158] start[16] end[23]
addr[0x158] start[24] end[31]
addr[0x15c] start[0] end[7]
addr[0x15c] start[8] end[15]
addr[0x15c] start[16] end[23]
addr[0x15c] start[24] end[31]
addr[0x160] start[0] end[7]
addr[0x160] start[8] end[15]
addr[0x160] start[16] end[23]
addr[0x160] start[24] end[31]
addr[0x164] start[0] end[7]
addr[0x164] start[8] end[15]
addr[0x164] start[16] end[23]
addr[0x164] start[24] end[31]
addr[0x168] start[0] end[7]
addr[0x168] start[8] end[15]
addr[0x168] start[16] end[23]
addr[0x168] start[24] end[31]
addr[0x16c] start[0] end[7]
addr[0x16c] start[8] end[15]
addr[0x16c] start[16] end[23]
addr[0x16c] start[24] end[31]
addr[0x170] start[0] end[7]
addr[0x170] start[8] end[15]
addr[0x170] start[16] end[23]
addr[0x170] start[24] end[31]
addr[0x174] start[0] end[7]
addr[0x174] start[8] end[15]
addr[0x174] start[16] end[23]
addr[0x174] start[24] end[31]
addr[0x178] start[0] end[7]
addr[0x178] start[8] end[15]
addr[0x178] start[16] end[23]
addr[0x178] start[24] end[31]
addr[0x17c] start[0] end[7]
addr[0x17c] start[8] end[15]
addr[0x17c] start[16] end[23]
addr[0x17c] start[24] end[31]
addr[0x180] start[0] end[7]
addr[0x180] start[8] end[15]
addr[0x180] start[16] end[23]
addr[0x180] start[24] end[31]
addr[0x184] start[0] end[7]
addr[0x184] start[8] end[15]
addr[0x184] start[16] end[23]
addr[0x184] start[24] end[31]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: