818C 参数 DATA_PTR 中的指针无效。使用指向位存储区或访问类型为“标准 - 与 S7-300/400 兼容”的数据块的指针。

本文解决使用MB_MASTER数据块时遇到的818C错误,即参数DATA_PTR中指针无效的问题。通过调整新建数据块的属性设置,确保指针兼容S7-300/400,具体操作是在V13SP1软件中建立全局数据块后,取消优化的块访问选项。

使用MB_MASTER数据块时报错,《818C参数DATA_PTR中的指针无效。使用指向位存储区或访问类型为“标准-与S7-300/400兼容”的数据块的指针。》可我新建数据块时没找到这选项

问题描述:

使用MB_MASTER数据块时报错,"818C  参数 DATA_PTR 中的指针无效。 使用指向位存储区或访问类型为“标准 - 与 S7-300/400 兼容”的数据块的指针。"可我新建数据块时没找到这选项

图片说明:

最佳回答:教材使用的软件版本不同导致。
V13SP1建立全局数据块时只显示DB属性的常规项,直接建立,然后右键DB选择属性,常规下最后一项属性,有优化的块访问,去掉勾选就是兼容的。
参考图 

图片说明:

 

 

 

 

 

 

 

 

fog.bbclass:# simplified-fog.bbclass - 基于manifest精确转换fog:// URI # 使用提供的manifest.xml数据准确映射到Git地址 DEPENDS_append = " rsync-native" do_unpack[depends] += "rsync-native:do_populate_sysroot" python () { # 从manifest中提取的项目映射数据 d.setVar("MANIFEST_PROJECTS", { # src项目 "src/devtools/mobile_log_d": ("git01", "yocto-aiv/src/devtools/mobile_log_d", "704c96b2f5c10919975ae26b7a91679f336a3570"), "src/tinysys/mt8136/common": ("git01", "yocto-aiv/src/tinysys/mt8136/common", "2da30f4bc9e6654b75c8bf6346af0f91278fa1ae"), "src/tinysys/mt8136/scp": ("git01", "yocto-aiv/src/tinysys/mt8136/scp", "97b916230223b617f1a873b193a3a5c9bfca8531"), "src/tinysys/mt8136/kernel/FreeRTOS_v10.1.0.1": ("git01", "yocto-aiv/src/tinysys/mt8136/kernel/FreeRTOS_v10.1.0.1", "c7026a3cb1873fb0028e18f126eb7311be57d7ea"), "src/tinysys/mt8139/common": ("git01", "yocto-aiv/src/tinysys/mt8139/common", "df35b76d47abb30324ddd95300486094cdd384a5"), "src/tinysys/mt8139/scp": ("git01", "yocto-aiv/src/tinysys/mt8139/scp", "35de138473a700965a07807ed46f0449bd00baab"), "src/tinysys/mt8139/kernel/FreeRTOS_v10.1.0": ("git01", "yocto-aiv/src/tinysys/mt8139/kernel/FreeRTOS_v10.1.0", "5da1136b068b792e2102416be4f340284f5afa56"), "src/connectivity/bin/mt7663": ("git01", "yocto-aiv/src/connectivity/bin/mt7663", "f9630ea5a30f748aafd27cb37fd2eae3e17d0ff5"), "src/connectivity/wlan_cfg": ("git01", "yocto-aiv/src/connectivity/wlan_cfg", "51c69b0957a7050f7e6adb7557468123b1791632"), "src/kernel/modules/connectivity/wlan_driver/gen4m": ("git01", "yocto-aiv/src/kernel/modules/connectivity/wlan_driver/gen4m", "df71785d303924bf71e2912eb50d234d3bae503c"), "src/kernel/modules/connectivity/wlan_driver/gen4m_mt7663": ("git01", "yocto-aiv/src/kernel/modules/connectivity/wlan_driver/gen4m_mt7663", "be73b9e0deb12b3c61081fcda80734c30e427465"), "src/connectivity/wlan_tool/wifi_test_tool": ("git01", "yocto-aiv/src/connectivity/wlan_tool/wifi_test_tool", "1c58df03955d9cce53febf316a1b2e76a7a6f7da"), "src/kernel/linux/v5.10": ("git01", "yocto-aiv/src/kernel/linux/v5.10", "8346487f13d675d6205a9655db9964285b757f1f"), "src/bsp/lk2": ("git01", "yocto-aiv/src/bsp/lk2", "c4fe35e5809b144c1bf4e43b4ba9b20e5c24ceec"), "src/multimedia/mtkcam-core": ("git01", "yocto-aiv/src/multimedia/mtkcam-core", "3fefbb4306816ebac4e4aea78576bffae9f2f5aa"), "src/multimedia/mtkcam-hwcore": ("git01", "yocto-aiv/src/multimedia/mtkcam-hwcore", "478dd759d4ea0d3b53137fc460917fee4935bba4"), "src/multimedia/mtkcam-interfaces": ("git01", "yocto-aiv/src/multimedia/mtkcam-interfaces", "e1e7cf53dcfcb83cb5590ad74db1fbff5bfdd20e"), "src/bsp/trustzone/tf-a-2.4": ("git01", "yocto-aiv/src/bsp/trustzone/tf-a-2.4", "670c8d0169bc7dc9e34a0c64fe6e41b41a8128a6"), "src/devtools/met-driver": ("git01", "yocto-aiv/src/devtools/met-driver", "408088434d875ae44ee41828dc05b2fbed85f2cf"), "src/devtools/datool": ("git01", "yocto-aiv/src/devtools/datool", "ab05bcf91b679db37caaa78674ab44677f288fbf"), "src/devtools/dumpsys-utils": ("git01", "yocto-aiv/src/devtools/dumpsys-utils", "5ec284373314598445103e99f61e1cf588d3734c"), "src/devtools/meminfo-utils": ("git01", "yocto-aiv/src/devtools/meminfo-utils", "3f31f8fa20cc3554a119f60d73d1fa45a61b81ff"), "src/devtools/nfsb": ("git01", "yocto-aiv/src/devtools/nfsb", "18209a4490bd0d68c4ae5bbc17d92d12953ebbe8"), "src/devtools/systrace": ("git01", "yocto-aiv/src/devtools/systrace", "89a67fee3ae379ca6d98a8d7a1a50860a599b6b1"), "src/graphics/disppq_v2": ("git01", "yocto-aiv/src/graphics/disppq_v2", "6c5118491317675b23f0a02219d2059121330aa1"), "src/ml/neuropilot/tflite": ("git01", "yocto-aiv/src/ml/neuropilot/tflite", "86356f0129bf8d7f34c9a532de878f9c8e8e4e0b"), "src/multimedia/aienc_flow": ("git01", "yocto-aiv/src/multimedia/aienc_flow", "24e597a8a182a23b57f3b5dcdb7712f3db7051b2"), "src/multimedia/apusys": ("git01", "yocto-aiv/src/multimedia/apusys", "1552bde0fee1b290b4b7899ef71d8ba1f06e1feb"), "src/multimedia/libcamera_apiwrapper": ("git01", "yocto-aiv/src/multimedia/libcamera_apiwrapper", "8c211398d46817360986276d64d37035244ed381"), "src/multimedia/libcamera_ext": ("git01", "yocto-aiv/src/multimedia/libcamera_ext", "31d76cc373db3f856d2ee5f4056b93fadb2ba715"), "src/multimedia/libcamera_platform2": ("git01", "yocto-aiv/src/multimedia/libcamera_platform2", "f93ad208b71d74ecc2f63e14149e7c0d5c8c1dcb"), "src/multimedia/mdpd": ("git01", "yocto-aiv/src/multimedia/mdpd", "a88b1b7f150b6e9a5182695f3ac22b47ab102160"), "src/multimedia/mdpd5": ("git01", "yocto-aiv/src/multimedia/mdpd5", "4121f758e8c768e47c39c62cc9aa84090d1ec595"), "src/multimedia/mscp": ("git01", "yocto-aiv/src/multimedia/mscp", "26fd85921ae122f7ba405256628e52899f3bd9eb"), "src/multimedia/mtkcam-mt8136": ("git01", "yocto-aiv/src/multimedia/mtkcam-mt8136", "2a932602c86866eb55099ca923ed02e02f8e637b"), "src/multimedia/mtkcam-mt8139": ("git01", "yocto-aiv/src/multimedia/mtkcam-mt8139", "4c1798f042346352b97900f2b64bf7eee1ff9704"), "src/multimedia/mtkcam-tuning-tool-server": ("git01", "yocto-aiv/src/multimedia/mtkcam-tuning-tool-server", "73bc4a317e32759c33b73407b2b53f2f5054b183"), "src/multimedia/mtkcam-tuningdb-mt8136": ("git01", "yocto-aiv/src/multimedia/mtkcam-tuningdb-mt8136", "b7494d3b2b6cf6bb79a4ae6050326e0e41e97476"), "src/multimedia/mtkcam-tuningdb-mt8139": ("git01", "yocto-aiv/src/multimedia/mtkcam-tuningdb-mt8139", "701ef97d734ff020eea220cad2dc82f56e67086d"), "src/multimedia/mtkcam-utils": ("git01", "yocto-aiv/src/multimedia/mtkcam-utils", "b235649980748870035841f279824a2c55795886"), "src/multimedia/vppwpe": ("git01", "yocto-aiv/src/multimedia/vppwpe", "ca27bc59a9e4fb1e62bb3320d123538b8567d40f"), "src/navigation/sensor": ("git01", "yocto-aiv/src/navigation/sensor", "edc19f9c048791b27521ce764165c92f7d0827fc"), "src/support/efuse_writer": ("git01", "yocto-aiv/src/support/efuse_writer", "a568f9045d7a101686d33852984bcae76c4ed46d"), "src/support/libnvram_custom": ("git01", "yocto-aiv/src/support/libnvram_custom", "7dfce8620a120737237c2b88e700bf1201e8d01e"), "src/support/nvram": ("git01", "yocto-aiv/src/support/nvram", "715eb7bc509f71976c8b9106049a26d61864e139"), "src/support/rpc-binder": ("git01", "yocto-aiv/src/support/rpc-binder", "bdae408e1b54fea307b3c63de73132410927cdd3"), "src/apps/aiv-base": ("git01", "yocto-aiv/src/apps/aiv-base", "f6773af721a79702390c225e88b62ba9a9926dca"), "src/apps/atom-base/demos": ("git01", "yocto-aiv/src/apps/atom-base/demos", "9af9910596c0fd0de45befdf2a82ca10961b3628"), "src/apps/atom-base/demos-oss/lgpl-2.1-or-later": ("git01", "yocto-aiv/src/apps/atom-base/demos-oss/lgpl-2.1-or-later", "1a132b260bff0220edbd667664a68002e438fbbc"), "src/apps/atom-base/demos-oss/mit": ("git01", "yocto-aiv/src/apps/atom-base/demos-oss/mit", "4e1bdf322dfb9ba12c4af25006cb17d74f6e3054"), "src/apps/atom-base/progs/property": ("git01", "yocto-aiv/src/apps/atom-base/progs/property", "061c339288079bbde65ab048a9351312b0774b07"), "src/apps/atom-base/services/ipcd": ("git01", "yocto-aiv/src/apps/atom-base/services/ipcd", "b7dbf32dcf938765a8ca97d85d337988b2e80718"), "src/bsp/dramk_8136": ("git01", "yocto-aiv/src/bsp/dramk_8136", "6bfadc7933b44befe22639a61ed55e48cbd7096f"), "src/bsp/dramk_8139": ("git01", "yocto-aiv/src/bsp/dramk_8139", "3704cbe89f05fb0f5dc207dc6349ed22e44d1701"), "src/bsp/scatter": ("git01", "yocto-aiv/src/bsp/scatter", "2f6835f0a9d415a7585ed72bd4e1a23ed03c79ea"), "src/bsp/trustzone/atf/v1.6/mt8xxx": ("git01", "yocto-aiv/src/bsp/trustzone/atf/v1.6/mt8xxx", "fec92300314b4b5ca0873b61315fe9cc5cb876a5"), "src/bsp/trustzone/optee/3.14.0/optee_client": ("git01", "yocto-aiv/src/bsp/trustzone/optee/3.14.0/optee_client", "c348bd342ad62eb8367d62b0a42426b883d19d02"), "src/bsp/trustzone/optee/3.14.0/optee_test": ("git01", "yocto-aiv/src/bsp/trustzone/optee/3.14.0/optee_test", "b05639bb8c76e147fa33b30ebca19eccca86d0ab"), "src/bsp/trustzone/teeloader": ("git01", "yocto-aiv/src/bsp/trustzone/teeloader", "33314297a2e250c3440a21e2258ebefba197ed8d"), "src/bsp/tzapp/common": ("git01", "yocto-aiv/src/bsp/tzapp/common", "6aefce134a63c33a0ff8d697cb211bde3a5da17d"), "src/bsp/tzapp/common": ("git01", "yocto-aiv/src/bsp/tzapp/common", "6aefce134a63c33a0ff8d697cb211bde3a5da17d"), "src/devtools/datool": ("git01", "yocto-aiv/src/devtools/datool", "ab05bcf91b679db37caaa78674ab44677f288fbf"), "src/devtools/dumpsys-utils": ("git01", "yocto-aiv/src/devtools/dumpsys-utils", "5ec284373314598445103e99f61e1cf588d3734c"), "src/devtools/meminfo-utils": ("git01", "yocto-aiv/src/devtools/meminfo-utils", "3f31f8fa20cc3554a119f60d73d1fa45a61b81ff"), "src/devtools/met-driver": ("git01", "yocto-aiv/src/devtools/met-driver", "408088434d875ae44ee41828dc05b2fbed85f2cf"), "src/devtools/nfsb": ("git01", "yocto-aiv/src/devtools/nfsb", "18209a4490bd0d68c4ae5bbc17d92d12953ebbe8"), "src/devtools/systrace": ("git01", "yocto-aiv/src/devtools/systrace", "89a67fee3ae379ca6d98a8d7a1a50860a599b6b1"), "src/graphics/disppq_v2": ("git01", "yocto-aiv/src/graphics/disppq_v2", "6c5118491317675b23f0a02219d2059121330aa1"), "src/ml/neuropilot/tflite": ("git01", "yocto-aiv/src/ml/neuropilot/tflite", "86356f0129bf8d7f34c9a532de878f9c8e8e4e0b"), "src/multimedia/aienc_flow": ("git01", "yocto-aiv/src/multimedia/aienc_flow", "24e597a8a182a23b57f3b5dcdb7712f3db7051b2"), "src/multimedia/apusys": ("git01", "yocto-aiv/src/multimedia/apusys", "1552bde0fee1b290b4b7899ef71d8ba1f06e1feb"), "src/multimedia/libcamera_apiwrapper": ("git01", "yocto-aiv/src/multimedia/libcamera_apiwrapper", "8c211398d46817360986276d64d37035244ed381"), "src/multimedia/libcamera_ext": ("git01", "yocto-aiv/src/multimedia/libcamera_ext", "31d76cc373db3f856d2ee5f4056b93fadb2ba715"), "src/multimedia/libcamera_platform2": ("git01", "yocto-aiv/src/multimedia/libcamera_platform2", "f93ad208b71d74ecc2f63e14149e7c0d5c8c1dcb"), "src/multimedia/mdpd": ("git01", "yocto-aiv/src/multimedia/mdpd", "a88b1b7f150b6e9a5182695f3ac22b47ab102160"), "src/multimedia/mdpd5": ("git01", "yocto-aiv/src/multimedia/mdpd5", "4121f758e8c768e47c39c62cc9aa84090d1ec595"), "src/multimedia/mscp": ("git01", "yocto-aiv/src/multimedia/mscp", "26fd85921ae122f7ba405256628e52899f3bd9eb"), "src/multimedia/mtkcam-mt8136": ("git01", "yocto-aiv/src/multimedia/mtkcam-mt8136", "2a932602c86866eb55099ca923ed02e02f8e637b"), "src/multimedia/mtkcam-mt8139": ("git01", "yocto-aiv/src/multimedia/mtkcam-mt8139", "4c1798f042346352b97900f2b64bf7eee1ff9704"), "src/multimedia/mtkcam-tuning-tool-server": ("git01", "yocto-aiv/src/multimedia/mtkcam-tuning-tool-server", "73bc4a317e32759c33b73407b2b53f2f5054b183"), "src/multimedia/mtkcam-tuningdb-mt8136": ("git01", "yocto-aiv/src/multimedia/mtkcam-tuningdb-mt8136", "b7494d3b2b6cf6bb79a4ae6050326e0e41e97476"), "src/multimedia/mtkcam-tuningdb-mt8139": ("git01", "yocto-aiv/src/multimedia/mtkcam-tuningdb-mt8139", "701ef97d734ff020eea220cad2dc82f56e67086d"), "src/multimedia/mtkcam-utils": ("git01", "yocto-aiv/src/multimedia/mtkcam-utils", "b235649980748870035841f279824a2c55795886"), "src/multimedia/vppwpe": ("git01", "yocto-aiv/src/multimedia/vppwpe", "ca27bc59a9e4fb1e62bb3320d123538b8567d40f"), "src/navigation/sensor": ("git01", "yocto-aiv/src/navigation/sensor", "edc19f9c048791b27521ce764165c92f7d0827fc"), "src/support/efuse_writer": ("git01", "yocto-aiv/src/support/efuse_writer", "a568f9045d7a101686d33852984bcae76c4ed46d"), "src/support/libnvram_custom": ("git01", "yocto-aiv/src/support/libnvram_custom", "7dfce8620a120737237c2b88e700bf1201e8d01e"), "src/support/nvram": ("git01", "yocto-aiv/src/support/nvram", "715eb7bc509f71976c8b9106049a26d61864e139"), "src/support/rpc-binder": ("git01", "yocto-aiv/src/support/rpc-binder", "bdae408e1b54fea307b3c63de73132410927cdd3"), # prebuilt项目 "prebuilt/mt8136/devtools/clang/md32rv/linux-x86": ("git01", "yocto-aiv/prebuilt/mt8136/devtools/clang/md32rv/linux-x86", "16eeefcde00029d00c3772bdce30d4d9206d20d8"), "prebuilt/mt8136/bsp/trustzone/imgs": ("git01", "yocto-aiv/prebuilt/mt8136/bsp/trustzone/imgs", "076b9d471caf08f6216bc73dba5e8072a45fcbe2"), "prebuilt/mt8136/bsp/trustzone/optee/3.14.0/optee_os": ("git01", "yocto-aiv/prebuilt/mt8136/bsp/trustzone/optee/3.14.0/optee_os", "cab0b75ed7d27e10f09d84e86e47cb3a9c479df7"), "prebuilt/mt8136/bsp/trustzone/optee/3.14.0/source": ("git01", "yocto-aiv/prebuilt/mt8136/bsp/trustzone/optee/3.14.0/source", "363e9838fe3850e7c802a677e038cce51f2f4fcc"), "prebuilt/mt8136/bsp/tzapp": ("git01", "yocto-aiv/prebuilt/mt8136/bsp/tzapp", "747f6df089791cd230fd818c0a099ea1e580812e"), "prebuilt/mt8136/devtools/aee": ("git01", "yocto-aiv/prebuilt/mt8136/devtools/aee", "abb49d41d81005ce06453a08fb3523b389b38ed8"), "prebuilt/mt8136/devtools/perf-driver-cus": ("git01", "yocto-aiv/prebuilt/mt8136/devtools/perf-driver-cus", "bc028afed93e43dd0ff5bbf57d5947fb6ca94537"), "prebuilt/mt8136/graphics/libaal_v2": ("git01", "yocto-aiv/prebuilt/mt8136/graphics/libaal_v2", "deb5d867d03b38a75848eb6608a14f86193acd9a"), "prebuilt/mt8136/ml/neuropilot/apu_nn": ("git01", "yocto-aiv/prebuilt/mt8136/ml/neuropilot/apu_nn", "5ceb7f21c32894e36a6dec0c02b16b1b54765653"), "prebuilt/mt8136/ml/neuropilot/cmdl": ("git01", "yocto-aiv/prebuilt/mt8136/ml/neuropilot/cmdl", "abf38330bec262aafde114a6ea0969778bcd5012"), "prebuilt/mt8136/ml/neuropilot/cpu_nn": ("git01", "yocto-aiv/prebuilt/mt8136/ml/neuropilot/cpu_nn", "a9409895c9d42d29cd6a9474ca345bcf5a8e1a94"), "prebuilt/mt8136/ml/neuropilot/mtkopencv": ("git01", "yocto-aiv/prebuilt/mt8136/ml/neuropilot/mtkopencv", "8be3d3f417193b0dbe0f6ad68e152206a37eb57e"), "prebuilt/mt8136/ml/neuropilot/ncc_tflite": ("git01", "yocto-aiv/prebuilt/mt8136/ml/neuropilot/ncc_tflite", "ed5269bf69f593e7b26e11f744b87e5a8ef8b042"), "prebuilt/mt8136/ml/neuropilot/neuron": ("git01", "yocto-aiv/prebuilt/mt8136/ml/neuropilot/neuron", "49b087b74a848c0445f3dd063ba5752dc2753e65"), "prebuilt/mt8136/multimedia/aienc": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/aienc", "a8a98d65d5638b5ad98c2fca8860e26419145531"), "prebuilt/mt8136/multimedia/libcamera/mt8136": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/libcamera/mt8136", "b07717aa8ddfe95927b44a1fc1399cd7f80d4701"), "prebuilt/mt8136/multimedia/libcamera/mt8139": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/libcamera/mt8139", "542717c8c2016bb048d1ecc33839197587fb3610"), "prebuilt/mt8136/multimedia/libmdp_prot": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/libmdp_prot", "9d299d413466678d198c1c2b35cddaae62903504"), "prebuilt/mt8136/multimedia/libpq": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/libpq", "acb6cc96295d1a4e077d236d94957f016fbc3c01"), "prebuilt/mt8136/multimedia/libpq3_v2": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/libpq3_v2", "98857328597181a99a69bbc47ce47aca128d465e"), "prebuilt/mt8136/multimedia/mtkcam-prot": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/mtkcam-prot", "7981acb54ad7556c224baf48df6214c4c47e573d"), "prebuilt/mt8136/multimedia/mvpu-si/cl-toolchain/llvm-project": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/mvpu-si/cl-toolchain/llvm-project", "e7203a8f410477f317074d6716a05a22b6da45e2"), "prebuilt/mt8136/multimedia/mvpu-si/mvpu": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/mvpu-si/mvpu", "71c1e676b4ffd5e3f60ba458fca0c7f690e4a634"), "prebuilt/mt8136/multimedia/mvpu-si/mvpu-algo": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/mvpu-si/mvpu-algo", "26dbb057decd1df231672dc2d87625babbed92a0"), "prebuilt/mt8136/multimedia/mvpu-si/mvpu-runtime": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/mvpu-si/mvpu-runtime", "040c6617603859fe107187e16218c0670e904804"), "prebuilt/mt8136/multimedia/smartencode": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/smartencode", "fd16b444e9002b3bc2cebfa7ca704f4b223ddba4"), "prebuilt/mt8136/multimedia/venc-surveillance": ("git01", "yocto-aiv/prebuilt/mt8136/multimedia/venc-surveillance", "580167ab75a81333f68c0e4597ff9d09d2cafb7b"), "prebuilt/mt8136/support/buildinfo": ("git01", "yocto-aiv/prebuilt/mt8136/support/buildinfo", "2c004dd6dedd03164909ab33609847dbd190d896"), "prebuilt/mt8136/support/pdct/mt8136": ("git01", "yocto-aiv/prebuilt/mt8136/support/pdct/mt8136", "ec554ee9c85e384fa5e48716d746949949553ec7"), "prebuilt/mt8136/support/pdct/mt8139": ("git01", "yocto-aiv/prebuilt/mt8136/support/pdct/mt8139", "4e0ea6c95b3da500322ae758cd852ac9e6e2b424"), "prebuilt/mt8136/tinysys/mt8136/apusys": ("git01", "yocto-aiv/prebuilt/mt8136/tinysys/mt8136/apusys", "6b01811e4e40434474432f8fa4e0583b3b1bbd31"), "prebuilt/mt8136/tinysys/mt8136/mcupm": ("git01", "yocto-aiv/prebuilt/mt8136/tinysys/mt8136/mcupm", "4408fb47c38befd238a02e84e00f2194c7889e38"), "prebuilt/mt8136/tinysys/mt8136/scp": ("git01", "yocto-aiv/prebuilt/mt8136/tinysys/mt8136/scp", "452eec7bf87f9ac18544c1e052a874e7a66a5b47"), "prebuilt/mt8136/tinysys/mt8139/apusys": ("git01", "yocto-aiv/prebuilt/mt8136/tinysys/mt8139/apusys", "3790163d083e88138bd890d968daba70b8de43f5"), "prebuilt/mt8136/tinysys/mt8139/dpm": ("git01", "yocto-aiv/prebuilt/mt8136/tinysys/mt8139/dpm", "645d2aeec13f776789678ec0212404286e8d6d10"), "prebuilt/mt8139/devtools/clang/md32rv/linux-x86": ("git01", "yocto-aiv/prebuilt/mt8139/devtools/clang/md32rv/linux-x86", "16eeefcde00029d00c3772bdce30d4d9206d20d8"), "prebuilt/mt8139/tinysys/mt8139/mcupm": ("git01", "yocto-aiv/prebuilt/mt8139/tinysys/mt8139/mcupm", "35cd8d0ed916cbdafc05407952d19dca3d2f8474"), }) # 远程服务器映射 d.setVar("REMOTE_SERVERS", { "git01": "../..", # 相对路径 "agl": "https://gerrit.automotivelinux.org/gerrit/", "github": "https://github.com", "oe": "git://git.openembedded.org", "rdk": "https://code.rdkcentral.com", "yocto": "git://git.yoctoproject.org", }) } def parse_srcuri(perms): """解析URI参数""" items = {} for perm in perms: if perm == "": continue if "=" in perm: k, v = perm.split("=", 1) items[k.strip()] = v.strip() return items def fog_to_git_uri(fog_path, params, d): """将fog路径转换为精确的git URI""" manifest_projects = d.getVar("MANIFEST_PROJECTS") remote_servers = d.getVar("REMOTE_SERVERS") if fog_path in manifest_projects: remote_name, project_name, revision = manifest_projects[fog_path] server_url = remote_servers[remote_name] # 构建git URI if remote_name == "git01": # 对于git01,使用相对路径 git_uri = f"git://{server_url}/{project_name}.git;protocol=file" else: git_uri = f"git://{server_url}/{project_name}.git" # 添加分支和修订版本信息 git_uri += f";branch=aiv-release-hardknott.mp2" # 添加其他参数 if "subpath" in params: git_uri += f";subpath={params['subpath']}" if "destsuffix" in params: git_uri += f";destsuffix={params['destsuffix']}" # 设置SRCREV name = params.get("name", os.path.basename(fog_path.rstrip('/'))) d.setVar(f"SRCREV_{name}", revision) print(f"[simplified-fog] Mapped {fog_path} to {git_uri} with SRCREV {revision}") return git_uri else: # 如果manifest中没有找到,使用默认的git01服务器 bb.warn(f"[simplified-fog] Project {fog_path} not found in manifest, using default mapping") git_uri = f"git://../../yocto-aiv/{fog_path}.git;protocol=file" # 添加其他参数 if "subpath" in params: git_uri += f";subpath={params['subpath']}" if "destsuffix" in params: git_uri += f";destsuffix={params['destsuffix']}" return git_uri def fog_to_transformed_uri(uri, d): """将fog:// URI转换为实际的URI""" if not uri.startswith("fog://"): return uri # 解析URI perms = uri.split(";") fog_path = perms[0].replace("fog://", "") params = parse_srcuri(perms[1:]) # 总是使用git协议(基于manifest的精确映射) return fog_to_git_uri(fog_path, params, d) python () { """主处理函数 - 替换所有fog:// URI""" src_uri = d.getVar("SRC_URI", False) or "" if "fog://" not in src_uri: return uris = src_uri.split() new_uris = [] for uri in uris: if uri.startswith("fog://"): new_uri = fog_to_transformed_uri(uri, d) new_uris.append(new_uri) else: new_uris.append(uri) d.setVar("SRC_URI", " ".join(new_uris)) print(f"[simplified-fog] Transformed SRC_URI: {d.getVar('SRC_URI')}") } # 移除旧的SRCREV变量(保留新设置的) python () { # 获取所有以SRCREV_开头的变量 all_vars = d.keys() srcrev_vars = [var for var in all_vars if var.startswith("SRCREV_")] # 只移除那些不在我们新设置中的变量 manifest_projects = d.getVar("MANIFEST_PROJECTS") known_names = [os.path.basename(k.rstrip('/')) for k in manifest_projects.keys()] for var in srcrev_vars: var_name = var.replace("SRCREV_", "") if var_name not in known_names: d.delVar(var) print(f"[simplified-fog] Removed variable: {var}") }
09-16
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值