教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

使用QEMU建立Mini2440的模拟环境(4)

来源:网络收集 时间:2026-03-06
导读: 205. - image_size = (image_size + 512) 206. - mini2440_printf(\, image_size); 207. - s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot 208. - } 209. - } 210. : 211. diff --g

205. - image_size = (image_size + 512) & ~(512-1); 206. - mini2440_printf(\, image_size); 207. - s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot 208. - } 209. - } 210. : 211. diff --git a/hw/mini2440.c b/hw/mini2440.c 212. index 5decf4b..7a70aae 100644 213. --- a/hw/mini2440.c 214. +++ b/hw/mini2440.c 215. @@ -258,46 +258,15 @@ static void mini2440_reset(void *opaque) 216. struct mini2440_board_s *s = (struct mini2440_board_s *) opaque; 217. uint32_t image_size; 218. 219. - /* 220. - * Normally we would load 4 KB of nand to SRAM and jump there, but 221. - * it is not working perfectly as expected, so we cheat and load 222. - * it from nand directly relocated to 0x33f80000 and jump there 223. - */ 224. - if (mini2440_load_from_nand(s->nand, 0, S3C_RAM_BASE | 0x03f80000, 256*1024)> 0) { 225. - mini2440_printf(\); 226. - s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot already relo 227. - } 228. -#if 0 && defined(LATER) 229. - if (mini2440_load_from_nand(s->nand, 0, S3C_SRAM_BASE_NANDBOOT, S3C_SRAM_SIZE) > 0) { 230. - s->cpu->env->regs[15] = S3C_SRAM_BASE_NANDBOOT; /* start address, u-boot relocating code 231. - mini2440_printf(\ 232. - } 233. -#endif 234. - /* 235. - * if a u--boot is available as a file, we always use it 236. - */ 237. - { 238. - image_size = load_image(\, qemu_get_ram_ptr(0x03f80000)); 239. - if (image_size < 0) 240. - image_size = load_image(\, qemu_get_ram_ptr(0x03f80000)); 241. - if (image_size > 0) {

242. - if (image_size & (512 -1)) /* round size to a NAND block size */ 243. - image_size = (image_size + 512) & ~(512-1); 244. - mini2440_printf(\, image_size); 245. - s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot already 246. - } 247. - } 248. - /* 249. - * if a kernel was explicitly specified, we load it too 250. - */ 251. - if (s->kernel) { 252. - image_size = load_image(s->kernel, qemu_get_ram_ptr(0x02000000)); 253. : 254. diff --git a/hw/mini2440.c b/hw/mini2440.c 255. index 5decf4b..7a70aae 100644 256. --- a/hw/mini2440.c 257. +++ b/hw/mini2440.c 258. @@ -258,46 +258,15 @@ static void mini2440_reset(void *opaque) 259. struct mini2440_board_s *s = (struct mini2440_board_s *) opaque; 260. uint32_t image_size; 261. 262. - /* 263. - * Normally we would load 4 KB of nand to SRAM and jump there, but 264. - * it is not working perfectly as expected, so we cheat and load 265. - * it from nand directly relocated to 0x33f80000 and jump there 266. - */ 267. - if (mini2440_load_from_nand(s->nand, 0, S3C_RAM_BASE | 0x03f80000, 256*1024)> 0) { 268. - mini2440_printf(\); 269. - s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot already relocated 270. - } 271. -#if 0 && defined(LATER) 272. - if (mini2440_load_from_nand(s->nand, 0, S3C_SRAM_BASE_NANDBOOT, S3C_SRAM_SIZE) > 0) { 273. - s->cpu->env->regs[15] = S3C_SRAM_BASE_NANDBOOT; /* start address, u-boot relocating code */ 274. - mini2440_printf(\); 275. - } 276. -#endif 277. - /* 278. - * if a u--boot is available as a file, we always use it

279. - */ 280. - { 281. - image_size = load_image(\, qemu_get_ram_ptr(0x03f80000)); 282. - if (image_size < 0) 283. - image_size = load_image(\, qemu_get_ram_ptr(0x03f80000)); 284. - if (image_size > 0) { 285. - if (image_size & (512 -1)) /* round size to a NAND block size */ 286. - image_size = (image_size + 512) & ~(512-1); 287. - mini2440_printf(\, image_size); 288. - s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot already reloc 289. - } 290. - } 291. - /* 292. - * if a kernel was explicitly specified, we load it too 293. - */ 294. - if (s->kernel) { 295. - image_size = load_image(s->kernel, qemu_get_ram_ptr(0x02000000)); 296. - if (image_size > 0) { 297. - if (image_size & (512 -1)) /* round size to a NAND block size */ 298. : 299. diff --git a/hw/mini2440.c b/hw/mini2440.c 300. index 5decf4b..7a70aae 100644 301. --- a/hw/mini2440.c 302. +++ b/hw/mini2440.c 303. @@ -258,46 +258,15 @@ static void mini2440_reset(void *opaque) 304. struct mini2440_board_s *s = (struct mini2440_board_s *) opaque; 305. uint32_t image_size; 306. 307. - /* 308. - * Normally we would load 4 KB of nand to SRAM and jump there, but 309. - * it is not working perfectly as expected, so we cheat and load 310. - * it from nand directly relocated to 0x33f80000 and jump there 311. - */ 312. - if (mini2440_load_from_nand(s->nand, 0, S3C_RAM_BASE | 0x03f80000, 256*1024)> 0) { 313. - mini2440_printf(\); 314. - s->cpu->env->regs[15] = S3C_RAM_BASE | 0x03f80000; /* start address, u-boot already relocated * 315. - } 316. -#if 0 && defined(LATER)

317. - if (mini2440_load_from_nand(s->nand, 0, S3C_SRAM_BASE_NANDBOOT, S3C_SRAM_SIZE) > 0) { 318. - s->cpu->env->regs[15] = S3C_SRAM_BASE_NANDBOOT; /* star …… 此处隐藏:3154字,全部文档内容请下载后查看。喜欢就下载吧 ……

使用QEMU建立Mini2440的模拟环境(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/593223.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)