IOS 获取系统版本字符串,并且转化成float类型

pcDuino3下支持mmc启动,官方的Uboot是采用SPL框架实现的,因为内部的SRAM空间达到32K,我们完全可以在这32K空间内编写一个完整可用小巧的bootloader来完成引导Linux kernel的目的。

我们首先介绍下SPL框架,可以先看下《GNU ARM汇编--(十八)u-boot-采用nand_spl方式的启动方法》《GNU
ARM汇编--(十九)u-boot-nand-spl启动过程分析》
,NAND_SPL也算是SPL框架下的一种模式。

当使用Nand flash或者MMC作为引导方式时,我们需要使用芯片内的ROM或者其它机制加载固件到SRAM中。

这种时候就需要SPL,因为SPL短小精悍,适用于4K甚至更小的SRAM的环境。这时候的引导过程就变成,SPL引导Uboot,而由Uboot引导系统内核。

其实作为pcDuino3的SPL,它是可以完成直接引导kernel功能的,如果不需要使用uboot提供的额外的强大功能的话。

这里介绍下写bootloader的思路:

使用mmc的read驱动函数将指定位置的kernel镜像读取到内存中,然后按照Linux的要求完成参数列表的传递,MMU和cache的配置等,就可以完成跳转动作了。

最后一个步骤的代码如下:

void boot_linux(void)
{
	uart_printf("boot linux\n");
	void (*kernel_entry)(int zero, int arch, uint params);
	unsigned long r2;
	unsigned long machid;

	setup_linux_param(0x40000000 + 0x100);

	cleanup_before_linux();
	kernel_entry = (void (*)(int, int, uint))0x48000000;

	machid = 4283;
	r2= 0x40000100;
	kernel_entry(0, machid, r2);

}

这个函数就完成了内核文档Documentation/arm/booting对booting ARM Linux的描述。

这样,一个仅仅有18K大小的bootloader就可以完成对kernel的引导了。

IOS 获取系统版本字符串,并且转化成float类型

时间: 2024-12-15 03:59:11

IOS 获取系统版本字符串,并且转化成float类型的相关文章

c# 获取系统版本,获取net framework 版本(Environment 类)

原文:c# 获取系统版本,获取net framework 版本(Environment 类) 1.获取当前操作系统版本信息 使用Environment.OSVersion 属性 获取包含当前平台标识符和版本号的 OperatingSystem 对象. 命名空间:  System程序集:  mscorlib(在 mscorlib.dll 中) 使用方法: Environment.OSversion.ToString(); 2.获取本机.net framework 版本信息 使用Environmen

获取系统版本信息和处理器信息

// GetSystemInfo.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <windows.h> #include <iomanip> using namespace std; int main() { SYSTEM_INFO systemInfo; GetSystemI

获取系统版本,判断是windows还是Linux

package com.foresee.zxpt.common.utils; import java.util.Properties; /** * 获取系统版本 * @author GZ * */ public class OSUtils { /** * 判断是否是Linux * @return */ public static boolean isOSLinux() { Properties prop = System.getProperties(); String os = prop.get

怎样 获取 ios的系统版本

获得Ios系统版本的函数,比方 函数定义: [cpp] view plaincopy + (float)getIOSVersion; 函数实现: [cpp] view plaincopy + (float)getIOSVersion { return [[[UIDevice currentDevice] systemVersion] floatValue]; }

IOS获取系统通讯录联系人信息

先导入AddressBook.framework先 然后引用  #import <AddressBook/AddressBook.h> 一.权限注册 随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户的授权.权限申请代码示例如下: #pragma mark - 注册权限 - (void)contacts { //这个变量用于记录授权是否成功,即用户是否允许我们访问通讯录 int __block tip = 0; //声明一个通讯簿的引用

iOS 获取appstore 版本

项目上线以后一般都涉及到升级.那么iOS 怎样从appstore获取到版本 事实上非常easy NSString *url = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/lookup? id=%@",@"987953868"]; 当中 最后一串数字就是当前app的唯一id. 这个id怎样得到,百度一下 非常easy 然后我们仅仅须要调用这个 地址.就会返回当前app的一些信息,当中就包含ap

iOS 获取系统时间 及 时间比较

简单记录一下ios里面获取系统时间的方法. NSString* date; NSDateFormatter* formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"YYYY:MM:dd:hh:mm:ss"]; date = [formatter stringFromDate:[NSDate date]]; NSLog(@"YYYY:MM:dd:hh:mm:ss == %@", da

[转]python使用ctypes模块调用windowsapi获取系统版本

#coding: utf-8 import win32ui import win32gui import win32con import win32api #https://mail.python.org/pipermail/python-win32/2009-April/009078.html ''' ico_x = win32api.GetSystemMetrics(win32con.SM_CXICON) ico_y = win32api.GetSystemMetrics(win32con.

iOS 获取所有子字符串Rang

现在APP开发对效果要求越来与丰富,各种特效层出不穷.其中以动画效果和文字以富文本展示居多. 在网上也看了好几种方法,感觉有的处理的麻烦了,下面是我总结的获取子字符串所有Rang的一些方法: 字符串做富文本处理需要通过NSMutableAttributedString来处理,先创建一个NSMutableAttributedString对象: NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc] ini