首页 \ 问答 \ 打开后Galaxy S4改变UID / RFID(Galaxy S4 changing UID / RFID after turning on)

打开后Galaxy S4改变UID / RFID(Galaxy S4 changing UID / RFID after turning on)

我正试图获得我的Galaxy S4的UID,我注意到打开后我的S4有一个新的UID。

是否有设置静态UID的选项?

提前致谢。


I'm trying to get the UID of my Galaxy S4 and i noticed that after turning on my S4 has a new UID.

Is there an option to set a static UID ?

Thanks in advance.


原文:https://stackoverflow.com/questions/22989904
更新时间:2022-05-23 15:05

最满意答案

对于pi2和pi3,我的代码退出了hyp模式(假设sd卡上没有config.txt):

mrs r0,cpsr
bic r0,r0,#0x1F
orr r0,r0,#0x13
msr spsr_cxsf,r0
add r0,pc,#4
msr ELR_hyp,r0
eret

在树莓派网站上的baremetal论坛上有很多人,这个主题有不同的变化。 与旧时代不同,你不能在HYP模式下改变cpsr一次,但是如果你看一下eret指令它会接受一个新的cpsr以及分支(取一个新的lr来提供给电脑)并不是真正的回报而是改变cpsr的方法。 这就是我所知道的裸金属家伙正在做的事情。

当然,这里需要进行这些工作,并且它们恰好与pi一起工作。

如果你有一个config.txt,那么你需要小心一点,GPU为手臂“放置”核心的引导代码,让核心0通过,并将所有这些代码置于HYP模式。 (pi2和pi3),如果你选择打败那个:

kernel_old=1
disable_commandline_tags=1

然后由你来排序核心

    mrs x0,mpidr_el1
    mov x1,#0xC1000000
    bic x1,x0,x1
    cbz x1,zero
not_zero:
    wfi
    b not_zero
zero:

所以你没有让他们四个人几乎并行运行相同的代码......


My code to get out of hyp mode (assume no config.txt on the sd card) for both the pi2 and the pi3:

mrs r0,cpsr
bic r0,r0,#0x1F
orr r0,r0,#0x13
msr spsr_cxsf,r0
add r0,pc,#4
msr ELR_hyp,r0
eret

Lots of folks at the baremetal forum on the raspberry pi site, and there are variations on this theme. Unlike the good old days you cant just change the cpsr once in HYP mode, but if you look at the eret instruction it accepts a new cpsr as well as branching (takes a new lr to feed to the pc) not really a return but a way to change the cpsr. This is how the baremetal folks I know about are doing it.

There are of course assuptions required here to make this work and they happen to work with the pi.

If you have a config.txt then you need to be a little careful, the bootstrap code the GPU places for the arm "sorts" the cores and lets core 0 through as well as putting all of them in HYP mode. (both pi2 and pi3), if you choose to defeat that:

kernel_old=1
disable_commandline_tags=1

then it is up to you to sort the cores

    mrs x0,mpidr_el1
    mov x1,#0xC1000000
    bic x1,x0,x1
    cbz x1,zero
not_zero:
    wfi
    b not_zero
zero:

so you dont have all four of them running the same code almost in parallel...

相关问答

更多
  • 默认设置是在两种模式之间切换,但-mthumb会覆盖它。 可以在此处找到ARM选项列表: http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html The default is to switch between both modes as appropriate but -mthumb overrides it. The list of ARM options may be found here: http://gcc.gnu.org/onlinedocs/gc ...
  • 带有'S'后缀的mov或sub指令以及程序计数器作为其目标寄存器意味着异常返回。 它将SPSR的内容复制到CPSR,并将源寄存器的值移入程序计数器(在本例中为链接寄存器)。 在您的示例中,这有效地将模式设置为SVC模式并一次性从函数返回。 有关ARM参考手册中的更多信息。 A mov or sub instruction with the 'S' suffix and the program counter as its destination register means a exception retu ...
  • 手动模式更改不是ARM的效率目标。 通常, 手动模式更改仅在启动或初始化时设置堆栈等。 cpsr是主动副本。 为什么我们有一个库存的lr寄存器但不是当前的pc ? spsr是一个用于不同模式的库存 cpsr ; 就像银行的lr是不同模式的pc 。 银行业务使得例外状态可以透明。 spsr作为中断进行存储,或者在任何模式下都可能发生数据中止 ; 我们需要保存它以便我们正确地堆栈执行。 普通的无银行账户用户模式永远不会与其他模式堆叠。 模式更改在异常情况下自动完成。 模式寄存器设置为使异常处理非常有效和灵活。 ...
  • 我非常非常[1]很长时间地对抗这个问题! 最后我找到了问题的原因。 在ARM体系结构参考手册( 只有最新的ARMv7A -R版本 !)[2]中,是这样的: 如果尝试更新SPSR,则在系统模式下执行的MSR(寄存器)是不可预测的。 (对于即时的MSR也是如此)。 解决方案是在设置SPSR之前切换回管理员(或其他特权)模式。 [1]非常 [2]你可以在这里获得ARMv7-ARM(你需要注册): http : //infocenter.arm.com/help/index.jsp?topic = / com.ar ...
  • 首先,谢谢,“old_timer”给我一个评论。 从Raspberry Pi 2图像发布的某些方面来看,他们决定使用HYP模式(不是SVC模式)启动。 插入以下检查代码可解决此问题。 _reset: cpsid if /* Check if HYP mode */ mrs r0, cpsr_all and r0, r0, #0x1F mov r8, #0x1A cmp r0, r8 beq overHyped b continueBoot ...
  • 在vaddr a1处理1一些数据,在vaddr a2处处理2。 I上下文从1切换到2.在执行期间,对应于a1的TLB条目被弹出(出于某种原因)。 进程2访问a1,发生TLB未命中,发生页面遍历,成功并使用ASID2值存储进程1的条目,从而使进程2访问进程1的数据。 当进程1想要访问vaddr a1时,它实际上是一个标记为vaddr_a1_with_asid_P1的地址。 当进程2想要访问vaddr a1时,它实际上是一个标记为vaddr_a1_with_asid_P2的地址。 因此,在TLB中,每个TLB条 ...
  • ARMv4(ARM7TDMI)或ARMv5(ARM9)中没有用于排序的CPSR位,因此您需要使用其他方法。 如果你的核心实现了系统协处理器15,那么你可以检查寄存器1的第7位: MRC p15, 0, r0, c1, c0 ; CP15 register 1 TST r0, #0x80 ; check bit 7 (B) BNE big_endian B little_endian 但是,文档(ARM DDI 0100E)似乎暗示此位仅适用于运行时可配置字节序的系统。 如果它由引脚设 ...
  • 对于pi2和pi3,我的代码退出了hyp模式(假设sd卡上没有config.txt): mrs r0,cpsr bic r0,r0,#0x1F orr r0,r0,#0x13 msr spsr_cxsf,r0 add r0,pc,#4 msr ELR_hyp,r0 eret 在树莓派网站上的baremetal论坛上有很多人,这个主题有不同的变化。 与旧时代不同,你不能在HYP模式下改变cpsr一次,但是如果你看一下eret指令它会接受一个新的cpsr以及分支(取一个新的lr来提供给电脑)并不是真正的回报而 ...
  • 一般来说,由于几个原因,这是行不通的。 首先,清除SCTLR.C位只会使所有数据访问都不可缓存。 并防止分配到任何缓存。 缓存中的任何数据仍然存在于缓存中,尤其是来自最近编写的任何内容的脏行; 考虑一下当你的函数返回并且调用者试图恢复一个甚至不存在于它现在正在访问的内存中的堆栈帧时会发生什么。 其次,单处理器ARMv8系统很少; 假设您正在运行SMP Linux,并且突然在模块加载器碰巧安排的任何CPU上禁用缓存,那么即使忽略第一点,事情也会非常快速地下降。 Linux期望所有CPU彼此保持一致,并且如果违 ...
  • 您无法使用在用户模式下直接写入CPSR模式位的指令在模式之间切换。 正确的方法是使用svc (管理程序调用)并执行所请求的必要指令。 You can't change between modes using instructions which directly write to the CPSR mode bits in User mode. Proper way is to use a svc (supervisor call) and execute necessary instruction req ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)