⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 QNX ADS BSP code for i.MX27 chips
💻 C
字号:
/* * $QNXLicenseC:  * Copyright 2007, QNX Software Systems.   *   * Licensed under the Apache License, Version 2.0 (the "License"). You   * may not reproduce, modify or distribute this software except in   * compliance with the License. You may obtain a copy of the License   * at: http://www.apache.org/licenses/LICENSE-2.0   *   * Unless required by applicable law or agreed to in writing, software   * distributed under the License is distributed on an "AS IS" basis,   * WITHOUT WARRANTIES OF ANY KIND, either express or implied.  *  * This file may contain contributions from others, either as   * contributors under the License or as licensors under other terms.    * Please review this entire file for other proprietary rights or license   * notices, as well as the QNX Development Suite License Guide at   * http://licensing.qnx.com/license-guide/ for other information.  * $  *//* * IPL for MX21ADS Board */#include "ipl.h"#include <arm/mx1.h>#define	MAX_SCAN	0x2000#define	FLASH_IMAGE	0xC8001000voidsetup_image(unsigned image){	ser_putstr("Found image        @ 0x");	ser_puthex(image);	ser_putstr("\n");	image_setup(image);	ser_putstr("Jumping to startup @ 0x");	ser_puthex(startup_hdr.startup_vaddr);	ser_putstr("\n");	image_start(image);}voiddownload_ram(unsigned addr){	unsigned	image;	ser_putstr("\nDownloading image to  0x");	ser_puthex(addr);	ser_putstr("\n");	if (image_download_ser(addr)) {		ser_putstr("Download failed\n");		return;	}	ser_putstr("\nScanning image     @ 0x");	ser_puthex(addr);	ser_putstr("\n");	image = image_scan(addr, addr + MAX_SCAN);	if (image != -1) 		setup_image(image);}void scan_flash(){	unsigned image;	ser_putstr("\nScanning flash at 0xC8001000\n");	image = image_scan(FLASH_IMAGE, FLASH_IMAGE + MAX_SCAN);	if (image != -1) 		setup_image(image);}int main(){	/*	 * Initialize UART 1	 */	init_sermx1(0x1000A000, 115200, 44333333);	/*	 * Display banner	 */	ser_putstr("\nQNX/Neutrino IPL for M9328MX21ADS : \n");	/*	 * Attempt to boot	 */	while (1) {		ser_putstr("Commands:\n");		ser_putstr("  d: download image to RAM\n");		ser_putstr("  f: scan flash for image\n");		ser_putstr("ipl> ");		switch (ser_getchar()) {			case 'd':				download_ram(0xC1000000);				break;			case 'f':				scan_flash();				break;		}	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -