天嵌 ARM开发社区

 找回密码
 注册
查看: 2595|回复: 5

DM9000可执行程序却出现“段错误”提示

[复制链接]
jxyggg1984 发表于 2014-2-25 09:59:56 | 显示全部楼层 |阅读模式
写了一段裸机程序,功能是读写DM9000的寄存器,是可以通过jlink仿真的,但是通过ARM-LINUX-GCC编译后,在linux系统中运行时打印信息告知“段错误”。是不是bank4和MMU需要有什么初始化之类的我没有做啊?请版主和本板的朋友帮帮忙~~谢谢!
TQ-ZQL 发表于 2014-2-25 16:38:01 | 显示全部楼层
错误信息什么都没有。一般的段错误跟寄存器的初始化没有多大关系,是访问空指针,编译环境等等引起的
 楼主| jxyggg1984 发表于 2014-3-3 14:27:30 | 显示全部楼层
TQ-ZQL 发表于 2014-2-25 16:38
错误信息什么都没有。一般的段错误跟寄存器的初始化没有多大关系,是访问空指针,编译环境等等引起的

好的,谢谢了,其实我这个程序在裸机的时候跑没问题。上了linux就会报这个提示,看了几个帖子是说linux禁止程序方位片外地址,需要有地址映射,那么我应该怎样才能映射呢?。。。这个问题可能很小白。。。初学,请大大赐教。
TQ-ZQL 发表于 2014-3-3 18:03:22 | 显示全部楼层
上网找下:
#define request_mem_region(start,n,name)   __request_region(&iomem_resource, (start), (n), (name))
#define check_mem_region(start,n)              __check_region(&iomem_resource, (start), (n))
#define release_mem_region(start,n)           __release_region(&iomem_resource, (start), (n))
ioremap
这几个。

一般 使用是:
request_mem_region
ioremap
release_mem_region
TQ-ZQL 发表于 2014-3-3 18:03:32 | 显示全部楼层
上网找下:
#define request_mem_region(start,n,name)   __request_region(&iomem_resource, (start), (n), (name))
#define check_mem_region(start,n)              __check_region(&iomem_resource, (start), (n))
#define release_mem_region(start,n)           __release_region(&iomem_resource, (start), (n))
ioremap
这几个。

一般 使用是:
request_mem_region
ioremap
release_mem_region
 楼主| jxyggg1984 发表于 2014-3-5 17:21:20 | 显示全部楼层
TQ-ZQL 发表于 2014-3-3 18:03
上网找下:
#define request_mem_region(start,n,name)   __request_region(&iomem_resource, (start), ( ...

好的 谢谢版主 我去试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-6-17 17:32 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表