嵌入式开发者社区
标题:
AM5728GPMC地址申请出错
[打印本页]
作者:
大鹅
时间:
2019-9-9 17:06
标题:
AM5728GPMC地址申请出错
我在设备树中添加了一个新的GPMC,使用的是片选6,基地址是0x1000_0000,大小是0x0100_0000,当我在程序中对为这段空间申请内存的时候,申请的虚拟空间地址是f4d28000,并没有落在GPMC的地址空间内,这正常吗?
而且不可以对这段空间进行写和读,会报错并崩溃
读写的代码和设备树的修改如下
request_mem_region((unsigned int)0x10000000, 0x1000000, "mygpmc");
VPC3C_BASE = ioremap((unsigned int)0x10000000, 0x1000000);
VPC3_ASIC_ADDRESS=(unsigned char *)VPC3C_BASE ;
p_Vpc3 = (VPC3_STRUC VPC3_PTR)VPC3_ASIC_ADDRESS;
VPC3_UNSIGNED8_PTR vpc3_ptr;
vpc3_ptr = &p_Vpc3->slave_addr;
printk("%x\n", (volatile u32*)vpc3_ptr);
*((UBYTE VPC3_PTR)vpc3_ptr) = 0x44;
printk("%8x\n", readb(vpc3_ptr[0]));
复制代码
mygpmc {
compatible = "mtd-ram";
pinctrl-names = "default";
//linux,mtd-name= "intel,pf48f6000m0y1be";
#address-cells = <1>;
#size-cells = <1>;
status = "okay";
reg = <6 0 0x1000000>;
#if(0)
/* CONFIG 1 */
bank-width = <1>; /* GPMC_CONFIG1_DEVICESIZE(1) 2: 16bits */
gpmc,mux-add-data = <0>; /* GPMC_CONFIG1_MUXTYPE(0) 2: address-data multiplexing mode */
/* CONFIG 2 */
gpmc,cs-on-ns = <5>;
gpmc,cs-rd-off-ns = <108>;
gpmc,cs-wr-off-ns = <108>;
/* CONFIG 3 */
gpmc,adv-on-ns = <3>;
gpmc,adv-rd-off-ns = <11>;
gpmc,adv-wr-off-ns = <11>;
/* CONFIG 4 */
gpmc,oe-on-ns = <15>;
gpmc,oe-off-ns = <37>;
gpmc,we-on-ns = <15>;
gpmc,we-off-ns = <33>;
/* CONFIG 5 */
gpmc,rd-cycle-ns = <37>;
gpmc,wr-cycle-ns = <37>;
gpmc,access-ns = <33>;
gpmc,page-burst-access-ns = <0>;
/* CONFIG 6 */
gpmc,bus-turnaround-ns = <0>;
gpmc,cycle2cycle-delay-ns = <0>;
gpmc,wr-data-mux-bus-ns = <15>;
gpmc,wr-access-ns = <26>;
gpmc,cycle2cycle-samecsen;
gpmc,cycle2cycle-diffcsen;
#endif
};
复制代码
作者:
梁淑怡-Tronlong
时间:
2019-9-10 15:59
您好,
基地址跟片选都没写
[attach]5643[/attach]
[attach]5644[/attach]
作者:
大鹅
时间:
2019-9-11 08:37
梁淑怡-Tronlong 发表于 2019-9-10 15:59
您好,
基地址跟片选都没写
您好:
您说的这个我在前面配了,代码如下
rangs = <0 0x01000000 0x01000000
6 0x10000000 0x01000000>
复制代码
欢迎光临 嵌入式开发者社区 (https://51ele.net/)
Powered by Discuz! X3.4