Linux内存管理
未读
518b96cda5a6d226d46fb36e3b7f6354c2392ec3f389fc8580434d216278e5b8b4991e3afccbcbf1c82f77aa15d628db7833c5ed3cbf7570968557d5c1048e0f2c7e1156bc9cded25b2bf8a7988e3537a651ef90d3e5cddd8eff343706da144d00f32127f1ea0d1d8c5e61096b6d106bfb542df891126322f3900d83a758ab98bd303b291bcc2a515d6dc1e8b6b25e1f7402a134faefb586f9b96ba29bd19c65305237c74c471d6fb1703ef4ec383d2fe93e205b87542eaa840edef1ffaab324a94d70a6f5c7f295fad19bda06d4b2efca9bc7ac1ddcd464575f092c4ee324c2821a9b13c6af6348506ca075478341350e1178b9a9d05d7d3 ...
6478e0d79d540721c2f229a8c0ffaf8064e974c4d81ae36a90198cc2326f27cd086a546512af617f749974da26085dc1daf0c4c111a692e3f9c54b37c98a2a9915790f18d4fa9983b83d47959680e451f5ce6dd958ba1d90c6d6bfc40e08542fb586711f1a69472d84d5a8bb472e6330e2379dab67be0916c80922f639b64a42df1d533d19b2d161c5f7574544d7355b926bbd061ed65304492bb31e57bec834d0c03fa911af4b52b340399bf213be6e8bb4af4d7e9d7e2963212733f94ef6ae78a640a2de7c8e21e022d554f69239759ddc8f0ac7934533b1a98144872e53f40b708309b915b48b66d3942e60054108243f7e479e3701716 ...
Android Issue
未读
一、问题背景我司某项目无法使用adb push push文件到/vendor/firmware_mnt目录。使用的指令以及报错结果如下:
1234567adb rootadb disable-verityadb rebootadb rootadb remountadb shell mount -o rw,remount /vendor/firmware_mntadb push test.txt /vendor/firmware_mnt
输出结果:
1234567891011121314151617181920d:\liuqi\Desktop>adb rootd:\liuqi\Desktop>adb disable-verityVerity is already disabledd:\liuqi\Desktop>adb remountVerity is already disabledRemounted /system as RWRemounted /system_ext as RWRemounted /product as RWRemounted /vendor a ...
Linux Kernel
未读
0. 前言其实本章想要描述的函数的功能和内存的关系并不大,但是在启动流程中,paging_init后,该函数unflatten_device_tree就会被执行。为了启动流程的完整性,也鉴于此函数也确实有必要花时间去介绍。作为Linux BSP驱动工程师我们在适配驱动的流程里,可能就是配置DTS,适配驱动代码,然后两者根据dts里的compatible属性进行匹配,就okay了。那其实是有问题的,从Linux设备驱动模型中我们可以知道,驱动代码中会将驱动注册成struct device_driver。设备树的产生就是为了替代driver中过多的platform_device部分的静态定义,将硬件资源抽象出来,由系统统一解析,这样就可以避免各驱动中对硬件资源大量的重复定义。这样一来,几乎可以肯定的是,设备树中的节点最终目标是转换成struct device,在驱动开发时就只需要添加相应的platform driver部分进行匹配即可。
那DTS的节点如何被创建成struct device的设备的呢?
注意:开机过程中设备树的解析是从setup_arch中开始的,此函数中setup_ ...
Linux内存管理
未读
c77bddbd393245f6fc84666dc3bc9a3057545a8eba17bc8282b94fc8a7c76d7ed1d7d913696725b4b6ab8ad3c161d5dff2aa92f5868b3a6d52c0532c9d40d003102583f9ceea8fdabe117d6e16855718242567e7b1fef6124fabf2c7e939edb28219be2da291dccfe5b82a5d86fe3b1664611505c6b96e5c9832b9f9f79d9c4ccf63b291ab04eb0cf8b482e6c49d273fefc55fda5f43de43e1da90c450fbeff477a7fec50f03933b90a8ba211580f974a09df8fe3d44792453afcbcc18c2f9fd6fe9c1b7d5d0fd82b3f339ba7944aa03db1d1b2c87a64ad31f549019919fb9a6cadcdcba63216f90405df977ed68ffd30e30efcd62d7eadea ...
a5f9e468cd850a7207bd1534b43b72bd9a4800796259c785c0a7395c08c3d705d09b9d51a958084eb486b98dfcba466b821aeefb87ffe996ed2dffb8a9283ccec91c353567a447f1f66fb1015f1f8bd7bb793ed7634dd84bdee57dc300ff1770b7300cfde22ead42f10c3be5344ec1d27d584402a46f51b8ab11dfecdac25da9c9734d304eb6d6bc50acc927fb10b679713c811deaf86683dc9019a15b91e222557e7f3cae0824b359e01fbe818257ff24184eaebbb3c6611bbebad411f784eb148c88f7dc97c01ab571c003666ca3819aa31b20864e1ce5b850b299cecbf43504129502e7c3b11240a43a5d1427a937a415c1c6406415802 ...
Linux内存管理
未读
800d7394123ceeae05b84cdf14fb2ce3f0d8dbb8b9e7b3e02893d55d1e73c197ec7af8310a206ba93019aae5d41663d3831ff6ce8c9e03173d7051cf37f25039b1b27ed25736f772096232a1cc459357455813ebe94a95b3c6ec7c204999406f021571d4b32c11afb3d950d2971c488ad3be1f1787b5cc445dc64edf5c74ae273f8026147e7f3fa092abe8bd1a018e816c49a2d8e8629c097d208520f458d51200b18677c05390d32395dd41e7182a776231d53251cf02fa89b0055bb8930d6c87fb8f9f716d1f701150968224e4f724710ea4707c194b0affdc44fe6a65073be3701bcef10574618d3128b394d4b273d8378994a2232b94a ...
Linux内存管理
未读
1e24fe88ee5ff04b44b80e45bfd8f2c52ababa146b9539e7e0760a26e4e82976f79c7b07a19930b7d4d91cea8665667ebac434f2f841a31e11ff18da093e108ee1b66185b4a68d3950c94689bd31e9d685f61e3d7b23730e23273bde2a13e9abecd086c84b8ed8b82b2a2eab794ce1ecf88b3a2a762c063c4fd1f4dbd1845a2fc77e012140f646edd0ec271f0f0478c2e6ede8838a991393f640d2d0fcd6ac0808821e9fe7512231cf04a64a826ed3ab3001526a3480f7d8cb7b866c2170861144a34a69a8620c1d181d07238353aa458aef724a3f08e30749e73eac983a70040abf4d8e880b81ec583ffae3ac763e9c91c7e6219bf314336 ...
Linux内存管理
未读
cad55c19437dff6466565c2c670ecc367c662ea6d708c56a391864162b24c26463dc2ea4b6e0f7288881a7040a97ed01438655edd0cfe64957a9a4979a3f8fbc3caa5f7139941d58b4cbee54d81681d7dbf313f152f75f6ada3168a651ebe6566f07c48423b0376b88d998a7bc807e7aceec51c77d7630b3629ef7d8037a5d157db11227343ec3281a9855789a4206c59364a3884dc4cd3c11fe9dadb1f8b1dc7755bcdde737460b27435c427a0646ea2134d0959729bb825952a8ace63860aa1b3768f2d7c5894afdec3130e52f56d19c11073520b3d43f2d9417b64c12a98dd5b127de3d7944a9ca3d533515fdea097bdc7f9ad3f71f3f4 ...
4ae1767d2d6e5d470c4dc8abfd84ef6fedf9651b8d92b8404fa4a546299fd97898aa253d8e1053071d3589be74820615441a985eef683867a3a25d1bc36542658f73e3b37d88b0f19c240761a927278a8d5b64461dd2d889a9a7eacb3a3e79585e0c85ba3ad844e2ecb5c53f8af25b48195c2cfaa074a867f87309fca49e88e6973128b6ad9a7114cc4b9402c8388690388b94789639c1129147d79605ce977955ab22676d4ac8b4185bec60a4ec4c296830c6669d33eb16aa8b6ef5afc51dcc15f3f42123d9117fed04d8d40cecca568819a7f24118ff73f67eb41be1b3ab9740480fb80d81e1251c69dd7e1b4e22f8ac4ecb470c2be2f4a ...