{"id":1294,"date":"2026-01-10T10:23:59","date_gmt":"2026-01-10T02:23:59","guid":{"rendered":"https:\/\/www.52runoob.com\/?p=1294"},"modified":"2026-01-10T10:23:59","modified_gmt":"2026-01-10T02:23:59","slug":"linux%e4%b9%8bplatform%e5%b9%b3%e5%8f%b0%e8%ae%be%e5%a4%87%e9%a9%b1%e5%8a%a8%e8%af%a6%e8%a7%a3","status":"publish","type":"post","link":"https:\/\/www.52runoob.com\/index.php\/2026\/01\/10\/linux%e4%b9%8bplatform%e5%b9%b3%e5%8f%b0%e8%ae%be%e5%a4%87%e9%a9%b1%e5%8a%a8%e8%af%a6%e8%a7%a3\/","title":{"rendered":"Linux\u4e4bplatform\u5e73\u53f0\u8bbe\u5907\u9a71\u52a8\u8be6\u89e3"},"content":{"rendered":"\n<p>\u4e0b\u9762\u6211\u7ed9\u4f60\u4e00\u7bc7<strong>\u5185\u6838\u6e90\u7801\u7ea7 + \u9a71\u52a8\u5b9e\u6218 + \u9762\u8bd5\u53cb\u597d<\/strong>\u7684\u5b8c\u6574\u8bb2\u89e3<br>\ud83d\udc49 <strong>Linux Platform \u5e73\u53f0\u8bbe\u5907\u9a71\u52a8\u8be6\u89e3<\/strong>\u3002<br>\u8fd9\u662f<strong>\u5d4c\u5165\u5f0f Linux \/ \u9a71\u52a8\u5de5\u7a0b\u5e08\u5fc5\u4f1a\u6838\u5fc3\u5185\u5bb9<\/strong>\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u4e00\u3001\u4ec0\u4e48\u662f Platform \u8bbe\u5907\u9a71\u52a8\uff1f\uff08\u4e00\u53e5\u8bdd\u5148\u8bb0\uff09<\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Platform \u662f Linux \u5185\u6838\u4e2d\u7528\u4e8e\u63cf\u8ff0\u201c\u975e\u70ed\u63d2\u62d4\u3001SoC \u5185\u90e8\u5916\u8bbe\u201d\u7684\u8bbe\u5907\u6a21\u578b<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p>\ud83d\udccc \u5178\u578b\u5bf9\u8c61\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GPIO<\/li>\n\n\n\n<li>I2C \u63a7\u5236\u5668<\/li>\n\n\n\n<li>SPI \u63a7\u5236\u5668<\/li>\n\n\n\n<li>UART<\/li>\n\n\n\n<li>\u5b9a\u65f6\u5668<\/li>\n\n\n\n<li>\u770b\u95e8\u72d7<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udc49 <strong>\u4e0d\u662f USB \/ PCI \u8fd9\u7c7b\u53ef\u679a\u4e3e\u603b\u7ebf<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u4e8c\u3001\u4e3a\u4ec0\u4e48\u9700\u8981 Platform \u603b\u7ebf\uff1f<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f20\u7edf\u95ee\u9898\uff08\u8001\u5199\u6cd5\uff09<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/\/ \u5728\u9a71\u52a8\u4e2d\u76f4\u63a5\u5199\u6b7b\u5bc4\u5b58\u5668\u5730\u5740\n#define GPIO_BASE 0x01C20800\n\n<\/pre><\/div>\n\n\n<p>\u274c \u7f3a\u70b9\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e0d\u53ef\u79fb\u690d<\/li>\n\n\n\n<li>\u5730\u5740\u786c\u7f16\u7801<\/li>\n\n\n\n<li>\u4e0d\u652f\u6301\u8bbe\u5907\u6811<\/li>\n\n\n\n<li>\u9a71\u52a8\u4e0e\u786c\u4ef6\u5f3a\u8026\u5408<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Platform \u7684\u89e3\u51b3\u65b9\u6848<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\u786c\u4ef6\u4fe1\u606f  \u2192  \u8bbe\u5907(device)\n\u9a71\u52a8\u903b\u8f91  \u2192  \u9a71\u52a8(driver)\nPlatform \u603b\u7ebf\u8d1f\u8d23\u5339\u914d\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udccc <strong>\u8bbe\u5907\u548c\u9a71\u52a8\u89e3\u8026<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u4e09\u3001Platform \u67b6\u6784\u5168\u666f\u56fe<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n                +------------------+\n                |   Platform Bus   |\n                +------------------+\n                  \u2191             \u2191\n        platform_device   platform_driver\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u56db\u3001Platform \u4e09\u5927\u6838\u5fc3\u7ed3\u6784\u4f53\uff08\u5fc5\u8003\uff09<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1\ufe0f\u20e3 platform_device\uff08\u63cf\u8ff0\u786c\u4ef6\uff09<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstruct platform_device {\n    const char          *name;\n    int                  id;\n    struct device        dev;\n    u32                  num_resources;\n    struct resource     *resource;\n};\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udccc <strong>\u91cd\u70b9\u6210\u5458\uff1a<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>name<\/code>\uff1a\u5339\u914d\u9a71\u52a8<\/li>\n\n\n\n<li><code>resource<\/code>\uff1a\u786c\u4ef6\u8d44\u6e90\uff08\u5bc4\u5b58\u5668 \/ IRQ\uff09<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2\ufe0f\u20e3 resource\uff08\u786c\u4ef6\u8d44\u6e90\uff09<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstruct resource {\n    resource_size_t start;\n    resource_size_t end;\n    unsigned long flags;\n};\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">\u5e38\u89c1 flags\uff1a<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nIORESOURCE_MEM   \/\/ \u5bc4\u5b58\u5668\nIORESOURCE_IRQ   \/\/ \u4e2d\u65ad\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3\ufe0f\u20e3 platform_driver\uff08\u9a71\u52a8\uff09<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstruct platform_driver {\n    int (*probe)(struct platform_device *);\n    int (*remove)(struct platform_device *);\n    struct device_driver driver;\n};\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udccc <strong>probe = \u9a71\u52a8\u5165\u53e3<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u4e94\u3001Platform \u5339\u914d\u673a\u5236\uff08\u9762\u8bd5\u5fc5\u95ee\uff09<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1\ufe0f\u20e3 \u975e\u8bbe\u5907\u6811\uff08\u65e7\uff09<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nplatform_device.name == platform_driver.driver.name\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2\ufe0f\u20e3 \u8bbe\u5907\u6811\uff08\u4e3b\u6d41\uff09<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nof_match_table\n\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstatic const struct of_device_id my_of_match&#x5B;] = {\n    { .compatible = &quot;myvendor,mydevice&quot; },\n    { }\n};\n\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nMODULE_DEVICE_TABLE(of, my_of_match);\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udccc <strong>compatible \u662f\u6838\u5fc3<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u516d\u3001Platform \u8bbe\u5907\u6ce8\u518c\u65b9\u5f0f<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1\ufe0f\u20e3 \u975e\u8bbe\u5907\u6811\uff08\u4e0d\u63a8\u8350\uff09<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u6ce8\u518c device<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstatic struct resource my_res&#x5B;] = {\n    {\n        .start = 0x10000000,\n        .end   = 0x10000FFF,\n        .flags = IORESOURCE_MEM,\n    },\n};\n\nstatic struct platform_device my_dev = {\n    .name = &quot;my_plat_dev&quot;,\n    .id = -1,\n    .resource = my_res,\n    .num_resources = ARRAY_SIZE(my_res),\n};\n\nplatform_device_register(&amp;amp;my_dev);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2\ufe0f\u20e3 \u8bbe\u5907\u6811\uff08\u4e3b\u6d41\uff09<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">DTS \u793a\u4f8b<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nmydev@10000000 {\n    compatible = &quot;myvendor,mydevice&quot;;\n    reg = &amp;lt;0x10000000 0x1000&gt;;\n    interrupts = &amp;lt;10&gt;;\n};\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udccc <strong>\u8bbe\u5907\u6811\u81ea\u52a8\u751f\u6210 platform_device<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u4e03\u3001Platform \u9a71\u52a8\u5b8c\u6574\u793a\u4f8b\uff08\u8bbe\u5907\u6811\uff09<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">1\ufe0f\u20e3 \u9a71\u52a8\u4ee3\u7801<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstatic int my_probe(struct platform_device *pdev)\n{\n    struct resource *res;\n    void __iomem *base;\n\n    res = platform_get_resource(pdev, IORESOURCE_MEM, 0);\n    base = devm_ioremap_resource(&amp;amp;pdev-&gt;dev, res);\n\n    printk(&quot;platform device probed\\n&quot;);\n    return 0;\n}\n\nstatic int my_remove(struct platform_device *pdev)\n{\n    printk(&quot;platform device removed\\n&quot;);\n    return 0;\n}\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2\ufe0f\u20e3 \u9a71\u52a8\u6ce8\u518c<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nstatic const struct of_device_id my_of_match&#x5B;] = {\n    { .compatible = &quot;myvendor,mydevice&quot; },\n    {}\n};\n\nstatic struct platform_driver my_driver = {\n    .probe = my_probe,\n    .remove = my_remove,\n    .driver = {\n        .name = &quot;my_plat_drv&quot;,\n        .of_match_table = my_of_match,\n    },\n};\n\nmodule_platform_driver(my_driver);\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u516b\u3001Platform \u9a71\u52a8\u4e2d\u5e38\u7528 API\uff08\u9ad8\u9891\uff09<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>API<\/th><th>\u4f5c\u7528<\/th><\/tr><\/thead><tbody><tr><td>platform_get_resource<\/td><td>\u83b7\u53d6\u8d44\u6e90<\/td><\/tr><tr><td>devm_ioremap_resource<\/td><td>\u6620\u5c04\u5bc4\u5b58\u5668<\/td><\/tr><tr><td>platform_get_irq<\/td><td>\u83b7\u53d6\u4e2d\u65ad<\/td><\/tr><tr><td>devm_request_irq<\/td><td>\u7533\u8bf7\u4e2d\u65ad<\/td><\/tr><tr><td>devm_kzalloc<\/td><td>\u8bbe\u5907\u6258\u7ba1\u5185\u5b58<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\ud83d\udccc <strong>devm_ = \u81ea\u52a8\u91ca\u653e<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u4e5d\u3001\u4e3a\u4ec0\u4e48 probe \u4f1a\u88ab\u8c03\u7528\uff1f<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\u8bbe\u5907\u6811\u52a0\u8f7d\n \u2193\n\u751f\u6210 platform_device\n \u2193\nplatform_driver \u6ce8\u518c\n \u2193\n\u5339\u914d compatible\n \u2193\nprobe()\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udccc <strong>\u4e0d\u662f main \u51fd\u6570\u8c03\u7528<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u3001Platform \u4e0e\u5b57\u7b26\u8bbe\u5907\u5173\u7cfb\uff08\u5fc5\u61c2\uff09<\/h1>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nplatform_driver\n     \u2193\nprobe()\n     \u2193\n\u6ce8\u518c char device\n     \u2193\n\u521b\u5efa \/dev\/xxx\n\n<\/pre><\/div>\n\n\n<p>\ud83d\udc49 Platform \u8d1f\u8d23 <strong>\u201c\u627e\u5230\u786c\u4ef6\u201d<\/strong><br>\ud83d\udc49 \u5b57\u7b26\u8bbe\u5907\u8d1f\u8d23 <strong>\u201c\u63d0\u4f9b\u7528\u6237\u63a5\u53e3\u201d<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e00\u3001\u5e38\u89c1\u9762\u8bd5\u9898 &amp; \u6807\u51c6\u7b54\u6848<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">Q1\uff1aPlatform \u548c PCI\/USB \u533a\u522b\uff1f<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Platform \u4e0d\u652f\u6301\u679a\u4e3e\uff0c\u9760\u8bbe\u5907\u6811\u63cf\u8ff0<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Q2\uff1aprobe \u4ec0\u4e48\u65f6\u5019\u8c03\u7528\uff1f<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u8bbe\u5907\u548c\u9a71\u52a8\u5339\u914d\u6210\u529f\u65f6<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Q3\uff1aplatform_device \u4ece\u54ea\u6765\uff1f<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u8bbe\u5907\u6811 or board \u6587\u4ef6<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Q4\uff1a\u4e3a\u4ec0\u4e48\u7528 devm_*\uff1f<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u81ea\u52a8\u8d44\u6e90\u56de\u6536\uff0c\u9632\u6cc4\u6f0f<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">\u5341\u4e8c\u3001\u4e00\u53e5\u8bdd\u7ec8\u6781\u603b\u7ed3\uff08\u5fc5\u80cc\uff09<\/h1>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Platform \u662f Linux \u4e2d\u63cf\u8ff0 SoC \u5185\u90e8\u8bbe\u5907\u7684\u6838\u5fc3\u673a\u5236\uff0c<br>\u901a\u8fc7\u8bbe\u5907\u6811\u751f\u6210 device\uff0c<br>\u901a\u8fc7 compatible \u5339\u914d driver\uff0c<br>probe \u5b8c\u6210\u786c\u4ef6\u521d\u59cb\u5316\u3002<\/strong><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u9762\u6211\u7ed9\u4f60\u4e00\u7bc7\u5185\u6838\u6e90\u7801\u7ea7 + \u9a71\u52a8\u5b9e\u6218 + \u9762\u8bd5\u53cb\u597d\u7684\u5b8c\u6574\u8bb2\u89e3\ud83d\udc49 Linux P&#8230; <a class=\"more-link\" href=\"https:\/\/www.52runoob.com\/index.php\/2026\/01\/10\/linux%e4%b9%8bplatform%e5%b9%b3%e5%8f%b0%e8%ae%be%e5%a4%87%e9%a9%b1%e5%8a%a8%e8%af%a6%e8%a7%a3\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-1294","post","type-post","status-publish","format-standard","hentry","category-linux"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/1294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/comments?post=1294"}],"version-history":[{"count":1,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/1294\/revisions"}],"predecessor-version":[{"id":1295,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/1294\/revisions\/1295"}],"wp:attachment":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/media?parent=1294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/categories?post=1294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/tags?post=1294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}